CTF从入门到提升(十五)自包含
星期一, 九月 16, 2019
具体场景——php自包含
getshell两个思路:
1、Phpinfo()包含文件返回临时文件名,我们是在文件上传环节进行包含,如果不删除临时文件我们可以生成临时文件,
2、没有phpinfo,上传文件同样会生成临时文件,没有删除也可以实现包含,爆破文件名即可。
如何让它不进行删除?
操作演示
我们从这道题学一些解题思路,注册后登录:
我们刚刚传的值会入数据库,这里我们可以考虑下是否存在注入漏洞。
第四位的值实现插入,insert语句插入成功,变成5组数列。
出现两个md5值,我们去解密一下就行了。它的密码就是19101997。
拿到密码后登录管理员界面,就可以进行下一步操作了,以上我们利用到了注入漏洞的线索。
我们就会发现它存在一个包含点,想办法利用它。
让他做一个自包含,然后报错,报错之后就不会去删除php临时文件,采用报案点去包含临时文件。
肯定是存在一个目录,会有数据回来,那么就有可能存在着利用点,
具体场景——php崩溃
利用脚本:
通过链接报错去传文件,利用临时文件进行写入,配合报案点实现包含,实现路径可控,存在文件包含点就能实现一个文件包含。
内容来源:《CTF从入门到提升》