攻防世界XCTF:fakebook

攻防世界XCTF:fakebook_第1张图片
攻防世界XCTF:fakebook_第2张图片
攻防世界XCTF:fakebook_第3张图片
再注册账号时,发现了个post注入
攻防世界XCTF:fakebook_第4张图片
目录扫描一下,存在robots.txt和flag.php

攻防世界XCTF:fakebook_第5张图片
源码:
攻防世界XCTF:fakebook_第6张图片
Get()方法并没有对获取过来的url进行任何的过滤所以这里存在SSRF
攻防世界XCTF:fakebook_第7张图片
这里存在一个get注入

攻防世界XCTF:fakebook_第8张图片
攻防世界XCTF:fakebook_第9张图片
从报错中可以看出网站绝对路径/var/www/html

使用updatexml报错注入查询信息
攻防世界XCTF:fakebook_第10张图片
这里concat()注入还是有很多不方便,使用make_set()进行注入
攻防世界XCTF:fakebook_第11张图片
攻防世界XCTF:fakebook_第12张图片
综合考虑:服务端请求伪造漏洞,在服务器上的flag.php文件,网站配置文件的物理路径(同时也是flag.php的路径),PHP反序列化。
整理出思路:利用no参数进行注入,在反序列化中构造file文件协议,利用服务端请求伪造漏洞访问服务器上的flag.php文件
Payload:

?no=0/**/union/**/select 1,2,3,'O:8:"UserInfo":3:{s:4:"name";s:1:"1";s:3:"age";i:1;s:4:"blog";s:29:"file:///var/www/html/flag.php";}'

这里有waf检测一些非法字符,使用/**/的方法绕过
攻防世界XCTF:fakebook_第13张图片
在源代码中发现一个iframe标签,点击标签
攻防世界XCTF:fakebook_第14张图片
攻防世界XCTF:fakebook_第15张图片

你可能感兴趣的:(CTF_WEB_Writeup)