web:[WUSTCTF2020]朴实无华

题目

web:[WUSTCTF2020]朴实无华_第1张图片

点开页面显示如下

页面显示了一行报错:Cannot modify header information - headers already sent by (output started at /var/www/html/index.php:3) in /var/www/html/index.php on line 4

意思为不能修改报头信息-报头已经发送(输出开始于/var/www/html/index.php:3)在/var/www/html/index.php第4行

查看源代码也没有其他线索,用dirsearch扫一下看看

扫到一个robots.txt,访问之后页面显示如下

访问fAke_flagggg.php,显示如下

查看源码什么也没有,抓包试一下

web:[WUSTCTF2020]朴实无华_第2张图片

访问这个页面,出现了乱码

用的火狐,按alt查找修改文字编码就可以了,显示如下

web:[WUSTCTF2020]朴实无华_第3张图片

 2021){
        echo "我不经意间看了看我的劳力士, 不是想看时间, 只是想不经意间, 让你知道我过得比你好.
"; }else{ die("金钱解决不了穷人的本质问题"); } }else{ die("去非洲吧"); } //level 2 if (isset($_GET['md5'])){ $md5=$_GET['md5']; if ($md5==md5($md5)) echo "想到这个CTFer拿到flag后, 感激涕零, 跑去东澜岸, 找一家餐厅, 把厨师轰出去, 自己炒两个拿手小菜, 倒一杯散装白酒, 致富有道, 别学小暴.
"; else die("我赶紧喊来我的酒肉朋友, 他打了个电话, 把他一家安排到了非洲"); }else{ die("去非洲吧"); } //get flag if (isset($_GET['get_flag'])){ $get_flag = $_GET['get_flag']; if(!strstr($get_flag," ")){ $get_flag = str_ireplace("cat", "wctf2020", $get_flag); echo "想到这里, 我充实而欣慰, 有钱人的快乐往往就是这么的朴实无华, 且枯燥.
"; system($get_flag); }else{ die("快到非洲了"); } }else{ die("去非洲吧"); } ?> 去非洲吧

level1代码中,intval()函数将$num转换为整数类型,并进行比较判断,如果$num小于2020且$num+1大于2021,则输出消息“我不经意......”

关键在于intval函数,intval函数参数填入科学计数法的字符串,会以e前面的数字作为返回值而对于科学计数法+数字则会返回字符串类型

通过

web:[WUSTCTF2020]朴实无华_第4张图片

level2是md5,找到一串数字使它md5加密后的数值和原来的相等,php具有弱类型,==进行比较的时候会先将字符串类型转化为相同,再比较

典型的md5绕过,绕过原理就是加密前后都是0e开头的字符串

通过

web:[WUSTCTF2020]朴实无华_第5张图片

level3代码中

  • 使用strstr($get_flag, " ")函数检查$get_flag是否包含空格。如果$get_flag中不包含空格,则执行下面的代码;否则,输出一条消息"快到非洲了"并终止程序的执行。

  • 如果$get_flag中不包含空格,则使用str_ireplace("cat", "wctf2020", $get_flag)函数将$get_flag中的所有"cat"替换为"wctf2020",并将结果重新赋值给$get_flag

很明显,这里过滤了cat命令,但是查看文件的linux命令还有很多,例如tac less more tail都可以作为替代。

空格绕过可以使用$IFS$9

已经知道了flag文件在当前目录下

web:[WUSTCTF2020]朴实无华_第6张图片

所以最终的payload为

?num=2e4&md5=0e215962017&get_flag=tac$IFS$9fllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaag

web:[WUSTCTF2020]朴实无华_第7张图片

参考文章链接:

[WUSTCTF2020]朴实无华-CSDN博客

练[WUSTCTF2020]朴实无华_生而逢时的博客-CSDN博客

你可能感兴趣的:(BUUCTF-WEB,前端,web安全,网络安全)