攻防世界 web题(新手)
view_source
X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了。
获取在线场景,进入网页
由于右键没法使用,直接从设置里进入
得到flag,so easy…….
看别人的博客发现还可通过view-source:的方法来访问源码:
view-source:url
get_post
X老师告诉小宁同学HTTP通常使用两种请求方法,你知道是哪两种吗?
打开场景网页,显示让我们使用get方式提交一个a值为1的数据,那么可以直接再链接后面添加
?a=1
即可又让我们使用post方式提交数据,可以写一个简单的包含form表单的页面来实现
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <form method="POST" action="http://111.198.29.45:55483/?a=1"> <input type="text" name="b" value="2"> <input type="submit"> </form> </body> </html>
打开页面点击提交即可。
得到答案:
cyberpeace{5bb0e92a4c1b563c6ae7b2190d27f12d}
当然使用浏览器的插件更加方便,懒得下载了,以后没办法了再说吧。。。。。
robots
X老师上课讲了Robots协议,小宁同学却上课打了瞌睡,赶紧来教教小宁Robots协议是什么吧。
关于robots协议的
robots协议就是告诉爬虫什么网页是不能爬的,爬了就要违法的,一般存放于网站的根目录,可以直接通过 域名+robots.txt获取
我们访问
http://111.198.29.45:37876/robots.txt
的到了下面的东西User-agent: * Disallow: Disallow: f1ag_1s_h3re.php
接着访问http://111.198.29.45:37876/f1ag_1s_h3re.php的到flag
cyberpeace{b6a3011aae65e9fd2d857594413f50b1}
backup
X老师忘记删除备份文件,他派小宁同学去把备份文件找出来,一起来帮小宁同学吧!
备份文件
- 备份文件就是编辑器或管理员再编写文件时为了防止不小心删除文件时方便的恢复而做的备份,而网站往往对备份文件疏于保护,使我们可以直接获取到。
- 关于备份文件的详细讲解,有篇博文写的挺好的备份文件:被低估的Web威胁
解题
- 多试几次index.php的备份文件名,就行了
- 访问:http://111.198.29.45:54006/index.php.sava 的到一个文件,用记事本打开的到答案
- 答案:flag=”Cyberpeace{855A1C4B3401294CB6604CCC98BDE334}”
cookie
X老师告诉小宁他在cookie里放了些东西,小宁疑惑地想:‘这是夹心饼干的意思吗?
打开网址,右键查看NETwork信息,选择all发现了两个文件,再requests headers里找到cookie字段:
look-here:cookie.php
访问
http://111.198.29.45:44784/cookie.php
还是查看network中的cookie.php,找到response headers发现了flag
cyberpeace{35d2b66f27b94ab715ccd8d8d49431f0}
如果netword里面没有文件就刷新一下
disabled_button
X老师今天上课讲了前端知识,然后给了大家一个不能按的按钮,小宁惊奇地发现这个按钮按不下去,到底怎么才能按下去呢?
- 访问网址,右键检查
- 找到按钮标签,发现按钮有个属性
disabled
将其直接删除,这样按钮就可以点击了 - 点击获取答案
cyberpeace{938cf1757b57a24994fc33fa86b4089a}
simple_js
小宁发现了一个网页,但却一直输不对密码。(Flag格式为 Cyberpeace{xxxxxxxxx} )
打开链接,让输入密码,瞎写了一个,错了。
查看网页源代码
发现了这个
var pass = "70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65";
本来以为他是密码,转换成了 acill 码转换成字符的到了'FAUX PASSWORD HAHA'
输入HAHA, 不对下面还有一个像是答案的东西
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"));
,16进制转换成字符得到了786OsErtk12
a = "\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" a = [int(i) for i in a.split(',')] s = ''.join([chr(i) for i in a]) print(s)
构建提交答案:
Cyberpeace{786OsErtk12} )
xff_referer
X老师告诉小宁其实xff和referer是可以伪造的。
一条curl语句搞定
curl -X GET -H ‘X-Forwarded-For:123.123.123.123’ -H ‘Referer:https://www.google.com' -i ‘题目地址’
得到答案:
cyberpeace{e23fea2ef53f43e1bd4b2c462ffe9075}
参考资料
- 别人写的wp
- Linux curl命令详解, 关于linux的url命令的博客,说的挺详细的。
- WEB安全-伪造X-Forwarded-For绕过服务器IP地址过滤
- HTTP Referer 教程
weak_auth
分析过程
打开获取到的链接,发现选用登录,胡乱输入
然后让我以admin管理员登录,输入admin,输入一个密码,对我说密码错误。
查看网页源代码
http://111.198.29.45:51759/check.php
,有提示很明显的弱口令爆破提示:dictionary。使用
burp suite
爆破即可
实现过程
实现过程极为艰辛,我都快哭了,还好最后百度知道里的大佬救了我,其实也是因为我太沙雕了,,,,,
下载-安装-使用
burp suite
请移步我的另一篇博客。加载弱口令文件,开始爆破
123456
的返回长度不一样,点击查看response发现答案cyberpeace{748c243fe73aa5339bc8795a3fa04d1d}
。
webshell
解题过程
打开链接,发现
一句话木马放在了index.php中,利用shell命令可以获取到后台
使用中国菜刀,获取到网站后台
点击
flag.txt
获取到答案cyberpeace{466ada95b53dd9bce5adfd430dc401f0}
菜刀下载
官网已经关闭了下载,但可以从开源网站上下载
下载的文件会报毒,我是直接忽略了,可以用,应该是没毒的
下载地址:https://sourceforge.net/projects/zhongguocaidao/files/2011caidao.zip/download
command_execution
小宁写了个ping功能,但没有写waf,X老师告诉她这是非常危险的,你知道为什么吗。
Linux 命令行执行多条命令
command1 && command2
顺序执行,遇到执行失败的命令则终止
command1 || command2
顺序执行,如果有命令执行成功则终止
command1 ; command2
顺序执行,无论命令是否执行成功,直到执行完所有命令
分析过程
没有设置waf代表我们输入的任何东西会直接进入程序中
随意输入一个地址得到ping的结果发现程序应该是直接和系统的shell进行交互的
那么我们首先就是要构造命令查看当前目录下的文件
adsf; ls
发现就只有一个php文件
由于我们无法得到任何的文件夹名,只能向上查看文件夹中的内容,执行
asdf; ls ../../../
可以查看向上三层的文件夹中的内容发现了一个名为 home的文件夹,查看文件夹中的内容
asdf; ls ../../../home
发现了flag.txt执行
asdf; cat /home/flag.txt
获取到答案cyberpeace{d02b8c511da6fc03c9851f347af4414f}
其实可以执行
asdf; find / -name flag*
的到全部目录下所有以flag开头的文件
simple_php
is_numeric 绕过
- isnumeric() 用来判断是否位数字,为数字则返回true, 由于php为弱类型语言,则将数字后面加上空格(%20) / 空白符(%00) 或者任意字符即可绕过
- 当a=0%20 是,进行
if(a==0)
判断返回的结果还是true,但if(a)
的结果为非零也为真。
解题过程
访问
题目地址
+/?a=0%20&b=5555%20
即可得到答案Cyberpeace{647E37C7627CC3E4019EC69324F66C7C}