攻防世界新手区wp

发布于 2021-11-25  202 次阅读


第一题:view_source

根据题目描述,查看源代码ctrl+u

发现flag

cyberpeace{aa33e5cf6a924396964615dc5acc854f}

第二题:robots

根据题目描述查看robots协议内容,访问/robots.txt

发现flag地址,根据robots协议里获得的地址,访问flag文件

发现flag

cyberpeace{92aae6dbae2e0846fd2ec37f5926a469}

第三题:backup

根据题目描述,在index.php文件后面添加常用备份文件拓展名 .bak

下载备份文件查看

发现flag

Cyberpeace{855A1C4B3401294CB6604CCC98BDE334}

第四题:cookie

根据提示得知cookie里有东西,打开浏览器开发者工具,并重新载入抓包获取cookie

发现一个地址,访问此地址

访问后页面回显 See the http response 查看http响应

利用开发者工具重新抓包查看响应包

发现flag

cyberpeace{c37de51af970335a2b92bc5742a8fc82}

第五题:disabled_button

根据题目描述猜测本题考点是前端知识,首先查看源代码

发现disabled元素,删除此元素,发现按钮可以点击。点击按钮。

发现flag

cyberpeace{71dcd5db7f61196f70f22d11de844e87}

第六题:weak_auth

发现一个没有验证码的登录窗口,弱密码猜测一下,admin/111111

使用bp抓包,并将密码设置成参数,导入字典爆破。

爆破成功,密码是123456,在页面输入账号密码:admin/123456

发现flag

cyberpeace{0c7d10a91ed6138d90216b8c2c47d49c}

第七题:simple_php

发现一段php代码,进行代码审计

<?php
show_source(__FILE__);
include("config.php");  /*包含config.php文件*/
$a=@$_GET['a'];
$b=@$_GET['b'];
if($a==0 and $a){
    echo $flag1;
}
if(is_numeric($b)){ 
    exit();
}  /*检测变量b是否为数字或数字字符串*/
if($b>1234){
    echo $flag2;
}
?>

通过代码审计得出payload

http://111.200.241.244:64291/?a=0asd&b=2345 a

得出flag

Cyberpeace{647E37C7627CC3E4019EC69324F66C7C} 

第八题:get_post

根据页面提示,以get方式传参变量a=1

同时以post方式传参变量b=2

得到flag

cyberpeace{263c60dd6d3627805309b962262f104d}

第九题:xff_referer

页面显示ip地址必须为123.123.123.123

通过bp抓包伪造xff

页面回显必须来自www.googie.com

修改数据包伪造referer

得到flag

cyberpeace{5754ee4e7789af3878dcc28f1a3901f1}

第十题:webshell

题目描述得知,index.php里存在一句话木马

直接post方式调用

发现有个flag.txt文件,查看文件内容。

发现flag

cyberpeace{2765ff4db8bda09b272ff0518654df3d}

第十一题:command_execution

输入127.0.0.1|find / -name “flag.txt”

输入127.0.0.1|cat /home/flag.txt

得到flag

cyberpeace{cd5ede8e07747afc4fa495ac618f6e6b}

第十二题:simple_js

输入弱密码测试

发现无论输入什么密码显示结果都一样

查看源码

发现这段JS代码表示完全无论我们输入的什么内容,结果都是一样的,所以判断这段代码无用。

有用的是

 String["fromCharCode"](dechiffre("\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30"));

写python脚本进行转码即可:

string = "\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30"
s = string.split(",")
c = ""
for i in s:
    i = chr(int(i))
    c = c+i
print(c)

结果为:786OsErtk12

得到flag

Cyberpeace{786OsErtk12}


我从未觉得繁琐,说浪漫些,我很爱你。