1、view_source
根据提示直接查看网页源码
F12调出开发人员工具,直接可以找到flag
cyberpeace{21adabb4b2f952f3387b94f1226df379}
2、robots
打开什么也没有
根据题目提示查看robots协议: 在url后加 /robots.txt
robots.txt是搜索引擎中访问网站的时候要查看的第一个文件
构造PHP地址 http://61.147.171.105:49342/f1ag_1s_h3re.php
cyberpeace{13336d4321d94330d32fd9d28994ec71}
3、backup
常见的备份文件后缀名有: .git .svn .swp .svn .~ .bak .bash_history
可以手动猜测,尝试后发现是.bak,在URL后加上 /index.php.bak
或者使用御剑扫描
得到一个 http://111.198.29.45:35594/index.php.bak 的备份网址
下载后以文本格式打开即可看到flag
Cyberpeace{855A1C4B3401294CB6604CCC98BDE334}
4、cookie
Cookie由 Web 服务器创建,为辨别用户身份、进行 Session 跟踪而存储在用户本地终端上的数据。
F12,在存储一栏,可看到名为look-here的cookie的值为cookie.php
构造出URL http://61.147.171.105:63446/cookie.php
查看http响应包,在网络一栏,可看到访问cookie.php的数据包,在消息头内可发现flag
cyberpeace{c8c51fc8b5e30b89b7b42c5a0aecc00c}
5、disabled_button
打开页面,发现无法点击
查看源码,我们发现存在disabled ,disabled 属性规定应该禁用 <input>
元素,被禁用的 input 元素是无法使用和点击的。
当布尔属性 disabled
存在时,元素将不可变、不能聚焦或与表单一同提交,用户将不能在表单控件本身或其子控件进行编辑或聚焦操作,不能与该控件或其后代控件进行交互(比如这里的按钮)
将disabled去掉,再次点击按钮,即可看到flag
cyberpeace{9f45567cb7ab0ff39c9a4bb92abe5421}
6、get_post
首先让以get方式提交名为a,值为1的变量
GET给后端传参:URL后 + /?+变量名及值(不同变量之间用&隔开)
http://61.147.171.105:49342/?a=1即:http://61.147.171.105:49342/?a=1 即可发送get请求
又让以post方式提交名为b值为2的变量
post传参:用hackbar,复制get的URL,选择postdata,填入b=2,选择execute,即可发送post请求(需要先load URL)
cyberpeace{c0451f494c4f8014966d7c05cba433ad}
7、weak_auth
打开链接是一个登录界面
随便输入用户名和密码,提示用户名必须是admin,并返回一个check.php页面
更换用户名后,但是密码错误
根据题目描述是随手就设了一个密码,可以猜测是123456,其实这就是正确密码
猜不到也没关系,这里我们爆破
使用Burpsuite抓包,第一次先直接放,让登录页面加载出来,输入用户名和密码后(用户名为admin,密码随便输),将抓到的包在Action中send to Intruder传到Intruder中
来到Intruder中,先clear§,再选中password的值Add§
在payloads下添加字典,选择load
常用爆破字典下载地址 https://github.com/rootphantomer/Blasting_dictionary
Start attack,返回结果长度上不一样的就是密码
同样在action中,把包传到repeater
来到repeater,修改密码为123456,点击send,即可在响应包里看见flag
cyberpeace{2bccc158e9305a1a6a492236f8ba20a2}
8、simple_php
刚开始做web并不太看得懂代码
先介绍一些东西:
① php中有两种比较符号
=== 同时比较字符串的值和类型
== 先将字符串换成相同类型再比较
② 函数 is_numeric():检测变量是否为数字或数字字符串,是则返回true,否则返回false
③ echo:将输入的字符串送往标准输出
④ $:在PHP中表示变量的特征字符
⑤ 数字和字符混合的字符串转换为整数后只保留数字
有了这些知识基础后我们再来看这些代码
这里需要同时满足 a==0 (a转换后为0)但a本身不为false,(可以用字母或字母+数字或'0')
b 要求不是数字(b是数字就exit退出了)且 b>1234 (可以用大于1234的数字+字母,类型转换后就只剩大于1234的数字),传入a&b参数后即可得到flag
Cyberpeace{647E37C7627CC3E4019EC69324F66C7C}
9、command_execution
打开链接,要求输入ping的地址
可以发现,ping192是不能通的
而127的则可以
介绍一下:
① 192开头常用作家庭网络,127开头则常用作测试网络,前者是局域网,后者是本机。
还有一个特殊的IP:127.0.0.1 叫做回送地址,指本地机,用作测试。
一旦用回送地址发送数据,协议软件立即返回,不进行任何网络传输。
② | :将前一个命令的结果传给后一个命令作为输入
&&:前一条命令执行,若为真,才再执行后一条
执行ping再带一个其他命令, 127.0.0.1&&ls ,可以看到当前目录下的文件
逐个查看它的上一级目录 (注意ls后需要加空格,命令后都要加空格的)
127.0.0.1&&ls ../
127.0.0.1&&ls ../../
127.0.0.1&&ls ../../../
展开它的家目录
127.0.0.1&&ls ../../../home
看到有一个flag.txt,用cat命令来获取 (同样cat命令后面需要先跟空格)
cyberpeace{162afbbfabaa272d785404225190fa31}