记录一下实验吧的wp
后台登陆
ctrl+u查看源码
1 | <!-- $password=$_POST['password']; |
一上来就问管理员密码,并且要求登陆,那么是爆破呢,还是爆破呢?
emmmmm其实这题的考点是md5的
查了一下官方文档,md5函数的第二个参数如果为true,那么就会返回原始16字符二进制格式
而且sql语句显然是可以拼接注入的,关键在于如何注入了
提供一个字符串: ffifdyop
md5后,276f722736c95d99e921722cf9ed621c再转成字符串:’ ‘ ‘or’ 6
当然看评论也有说密码就是e58的
参考
认真一点
这道题是盲注的题目,不太好搞
天下武功唯快不破
这个可以通过浏览器抓包,然后发现响应头中有一个FLAG字段显然是base64加密过的,解密之后就会得到提示,让你写脚本post提交
我写的垃圾代码如下:
1 | import urllib |
师傅写的代码比我好看多了
1 | # coding:utf8 |
拐弯抹角
这个涉及到我的知识盲区,叫做伪静态页面
百度百科
payload 如下:
Forms
作为网络安全的人才,一定要仔细观察每一处地方
比如这个题目的表单:
1 | <form action="" method="post"> |
很明显看到,有一个hidden
字段,而且是showsource
,如果将其修改为1就能得到源码
源码如下:1
2
3
4
5
6
7
8
$a = $_POST["PIN"];
if ($a == -19827747736161128312837161661727773716166727272616149001823847) {
echo "Congratulations! The flag is $flag";
} else {
echo "User with provided PIN not found.";
}
emmmm后面就不说了
天网管理系统
查看源码有隐藏字段
1 | <!-- $test=$_GET['username']; $test=md5($test); if($test=='0') --> |
联想到php代码审计的小trick
md5(QNKCDZO)得到的结果是0e开头的
得到提示,
访问http://ctf5.shiyanbar.com/10/web1/user.php?fame=hjkleffifer
得到:1
$unserialize_str = $_POST['password']; $data_unserialize = unserialize($unserialize_str); if($data_unserialize['user'] == '???' && $data_unserialize['pass']=='???') { print_r($flag); } 伟大的科学家php方言道:成也布尔,败也布尔。 回去吧骚年
天真的我以为那三个问号就是真的问号
唉。。
1 |
|
将这个作为password输入a:2:{s:4:"user";b:1;s:4:"pass";b:1;}
忘记密码
这个题目有点难度
不过还是要获取信息
查看源代码发现两处关键信息:
1 | <meta name="admin" content="admin@simplexue.com" /> |
告诉了你管理员的邮箱和vim。。告诉我vim干嘛?当然是swp文件了
此处访问http://ctf5.shiyanbar.com/10/upload/.submit.php.swp
可以得到swp文件
(这是通过抓包知道发现表单上传的就是这个文件,多试几次,记得在文件名前加.)
1 |
|
token是0e00000000即可绕过
payload如下:
http://ctf5.shiyanbar.com/10/upload/submit.php?emailAddress=admin%40simplexue.com&token=0e00000000