攻防世界web新手区题解

目录

第一题 view_source

第二题robots

 第三题 backup

第四题 cookie

第五题 disabled_button

第六题 weak_auth

第七题 simple_php

第八题 get_post

第九题、xff_referer 

第十题、webshell

第十一题、command_execution

第十二题、simple_js


第一题 view_source

点击获取在线场景后等它加载完毕后点击URL进入实验环境

 查看源代码,右键不可以用。所以按F12,直接查看源码

 得到flag值为: cyberpeace{7f26e057a08a433d0147937622d87676}

查看网页源代码的方式有4种,分别是:

1、鼠标右击会看到”查看源代码“,这个网页的源代码就出现在你眼前了;

2、可以使用快捷Ctrl+U来查看源码;

3、在地址栏前面加上view-source,如view-source:https://www.baidu.com ;

4、浏览器的设置菜单框中,找到“更多工具”,然后再找开发者工具,也可以查看网页源代码。 

第二题robots

robots.txt文件是一个文本文件,使用任何一个常见的文本编辑器,比如Windows系统自带的Notepad,就可以创建和编辑它 。robots.txt是一个协议,而不是一个命令。robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。robots.txt文件告诉蜘蛛程序在服务器上什么文件是可以被查看的。robots协议(又叫伪君子协议)是用于网站中的,为了防止网站一些铭感目录被爬虫爬取,所以特地建了一个文本文档用来表明那些目录是攻击者不能爬取的(注:非法爬取它人网站数据属于违反行为)

联想到在URL后加上robots.txt

URL后加上f1ag_1s_h3re.php 

 第三题 backup

常见的备份文件后缀名有: .git .svn .swp .svn .~ .bak .bash_history

大多数的管理员为了以后方便都会将备份文件的后缀写成.bak,所以,我们这里就是找到.bak的文件

在url栏中输入index.php.bak试试

 

将.bak给去掉,用记事本打开下载的文件,得到flag

第四题 cookie

 

Cookie是保存在客户端的纯文本文件。比如txt文件。所谓的客户端就是我们自己的本地电脑。当我们使用自己的电脑通过浏览器进行访问网页的时候,服务器就会生成一个证书并返回给我的浏览器并写入我们的本地电脑。这个证书就是cookie。一般来说cookie都是服务器端写入客户端的纯文本文件。
 

 用Burpsuite抓包

添加url后缀名cookie.php

重新抓包,查看HTTP响应,即可得出flag 

第五题 disabled_button

打开效果

尝试使用代码的方式来修改该按钮的属性,现在我们来看一下该按钮的源代码 

disabled 属性规定应该禁用 input 元素。
被禁用的 input 元素既不可用,也不可点击。可以设置 disabled 属性,直到满足某些其他的条件为止(比如选择了一个复选框等等)。

修改源代码

1、通过 JavaScript 来删除 disabled 值,将 input 元素的值切换为可用。

2、打开源代码,点击左上角的小箭头,使其高亮,鼠标选择要修改的内容,在代码中点击鼠标右键,选择Edix text。

删掉" disable="" "后便可点击按钮,点击后效果如下

 

第六题 weak_auth


 

此题考查弱口令,进入题目,原来是道暴力破解题
暴力破解适合题目类型:登录密码较为简单,且不会限制登录次数 

 

用户名是admin 

用Burpsuite进行字典(弱口令字典)爆破

将password的值设为变量

选择字典文件

发现到123456时,长度不同,所以密码为123456,查看响应得到flag

第七题 simple_php

打开网址页面如下:

简单审计下代码,发现需要以get的方式传入两个参数a和b。

a参数的要求 a必须等于0且a为真

b参数的要求 b不能为数字且b大于1234

这道题的核心问题是理解PHP语言的弱类型

构造命令:http://111.198.29.45:44957/?a=00a&&b=12345s

第八题 get_post

http的两种请求方式是get和post,比如我用通过通过这两种方式传参,分别传a=1和b=2。get的请求方式是通过在网址后面加上“?a=1&b=2”,例如:https://adworld.xctf.org.cn/task/answer?a=1&b=2
post传参的话通过hackbug

我们在网址后面加上"?a=1".例:119.198.29.45:48280?a=1。

post方式提交的话,我们要用到hackbug,如下:

第九题、xff_referer 

 

XFF
X-Forwarded-For(XFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。

简单地说,xff是告诉服务器当前请求者的最终ip的http请求头字段
通常可以直接通过修改http头中的X-Forwarded-For字段来仿造请求的最终ip

Referer
HTTP来源地址(referer,或HTTPreferer)
是HTTP表头的一个字段,用来表示从哪儿链接到当前的网页,采用的格式是URL。换句话说,借着HTTP来源地址,当前的网页可以检查访客从哪里而来,这也常被用来对付伪造的跨网站请求。

简单的讲,referer就是告诉服务器当前访问者是从哪个url地址跳转到自己的,跟xff一样,referer也可直接修改

去增加或者修改xff和referer的值即可

题目说IP地址必须为123.123.123.123
所以抓包修改XFF

而又显示请求来自https://www.google.com/,所以修改Referer

然后点击Go,得到flag 

第十题、webshell

攻防世界web新手区题解_第1张图片

所谓的php一句话:
这个是PHP最常见的一句话木马的源码,通过post木马程序来实现木马的植入,eval()函数把字符串按照PHP代码来计算 

 使用中国蚁剑

1.右键添加数据

2.把url和连接密码输进去
因为这题提示是webshell,所以推测密码是shell 

3.找到flag.txt

得到flag 为cyberpeace{17b8c20c87ed744736dca537ddea2777}

第十一题、command_execution

攻防世界web新手区题解_第2张图片

WAF简介:

Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称:WAF)。利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。

WAF功能:

审计设备
对于系统自身安全相关的下列事件产生审计记录:
(1)管理员登录后进行的操作行为;
(2) 对安全策略进行添加、修改、删除等操作行为;
(3) 对管理角色进行增加、删除和属性修改等操作行为;
(4) 对其他安全功能配置参数的设置或更新等行为。

访问控制设备
用来控制对Web应用的访问,既包括主动安全模式也包括被动安全模式。

架构/网络设计工具
当运行在反向代理模式,他们被用来分配职能,集中控制,虚拟基础结构等。

WEB应用加固工具
这些功能增强被保护Web应用的安全性,它不仅能够屏蔽WEB应用固有弱点,而且 能够保护WEB应用编程错误导致的安全隐患。

需要指出的是,并非每种被称为Web应用防火墙的设备都同时具有以上四种功能。
同时WEB应用防火墙还具有多面性的特点。比如从网络入侵检测的角度来看可以把WAF看成运行在HTTP层上的IDS设备;从防火墙角度来看,WAF是一种防火墙的功能模块;还有人把WAF看作“深度检测防火墙”的增强。(深度检测防火墙通常工作在的网络的第三层以及更高的层次,而Web应用防火墙则在第七层处理HTTP服务并且更好地支持它。)

那这题就是所谓的没有上waf,也就是可以篡改网站。那么在ping 地址之后可能可以直接写linux指令。

1、尝试ping一下题目的ip地址
攻防世界web新手区题解_第3张图片

2、尝试ping一下本机的ip地址
发现多了点东西。多了一些路径出来,说明的确可以写linux指令。

攻防世界web新手区题解_第4张图片

3. 尝试ping一下本机的ip地址 搜索flag 

 攻防世界web新手区题解_第5张图片

4. 利用cat命令,找到flag的文件 127.0.0.1 && cat /home/flag.txt

攻防世界web新手区题解_第6张图片

第十二题、simple_js

攻防世界web新手区题解_第7张图片

1、点开场景如下:

攻防世界web新手区题解_第8张图片

2、 按 F12查看源码

攻防世界web新手区题解_第9张图片



    JS
    



无论输入什么,dechiffre()函数的返回值都是p,所以该函数是无效的

真正的密码应该存在于
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"));


3、编写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"
list = string.split(",")
print(list)

password = ""

for i in list:
    i = chr(int(i))
    password += i

print(password)

攻防世界web新手区题解_第10张图片

密码即为flag


4、得到flag: Cyberpeace{786OsErtk12}

你可能感兴趣的:(web安全)