攻防世界web新手练习区11道题讲解

06-01 1518阅读

前言:

缓慢学习ctf中...希望我写的对之后的小白们有一点用...也是让我自己能记住一些解题步骤...记录一下我的成长...

题集内容:汇聚多道web新手练习题,题目难度适合新手学习web类型题目 涉及常见的web漏洞,诸如注入,XSS,文件包含,代码执行等漏洞,且题目具有练习引导性,对新手童鞋较为友好呦。

1.view_source

题目描述:X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了。
解题步骤:点击题目场景后显示“FLAG is not here”右键也确实无法按动。

直接按F12呼出操作台,在操作台的查看器里就能看到flag啦~复制粘贴就好咯~

题目思考:这题应该考察快捷键吧。如果鼠标右键可以用,那就在网页右击,点击“检查”。如果右键不能用,那就用“F12”或者“ctrl+shift+I”,都可以呼出操作台~

攻防世界web新手练习区11道题讲解

2.get_post

题目描述:X老师告诉小宁同学HTTP通常使用两种请求方法,你知道是哪两种吗?
解题步骤:点击环境后显示“请用GET方式提交一个名为a,值为1的变量”。

1.首先,需要在浏览器上配置扩展:我用火狐浏览器,先看右上角像拼图一样的图标,点击管理扩展然后搜索hackbar并添加扩展,我本来用的hackbar但现在好像用不了了,所以我用max hackbar。直接搜索hackbar会出现很多个,功能应该都差不多,大家可以自由探索一下~

2.配置好扩展后,打开操作台max hackbar会直接显示在选项卡栏后面,先load URL,网页提示我们要用get方式,就是在URL后面加上“?a=1”,点击“execution”执行后会显示“请再以POST方式随便提交一个名为b,值为2的变量”。

攻防世界web新手练习区11道题讲解

3.选中左下角的“Post Data”,再输入“b=2”,点击“execution”就会得到想要的flag啦~

攻防世界web新手练习区11道题讲解

题目思考: 题目提到“GET”和“GOST”两种数据提交方式,两者区别在于:GET提交时数据在URL中,适用于查询、搜索、分页等非敏感操作,可以直接在URL中修改。POST方式则用于敏感或大数据操作,从解题过程也能看出来,POST方式相对隐秘一些。

3.robots

题目描述:X老师上课讲了Robots协议,小宁同学却上课打了瞌睡,赶紧来教教小宁Robots协议是什么吧。
解题步骤:打开环境后,网页什么都没有显示。

1.在URL后添加“robots.txt”,回车后网页显示如下:攻防世界web新手练习区11道题讲解 

2. 根据网页提示,将URL的后缀修改为“f1ag_1s_h3re.php”,回车后显示flag。

题目思考:这题考查robots协议,对此类题目的粗略解题步骤就是:

1.先在URL后面添加“robots.txt”访问网站的robots.txt文件,格式为“http://目标网址/robots.txt”.

2. 通常会和该题一样显示:

User-agent: *
Disallow: 
Disallow: f1ag_1s_h3re.php

直接尝试访问Disallow的路径,当然也可能会用Allow的路径,都是直接尝试访问,格式为“http://目标网址/Example_Disallow”。

3.如果直接访问Disallow的路径都不对,那可以直接访问目录文件。即在上述步骤2的基础上直接再添加"/flag.txt""/flag.php""index.php.bak"等一系列常用隐藏文件名。通常顺序是“常见文件名-备份文件名-后台文件-数据库文件”

当然进一步学习后还可以直接用工具爆破,但我还不会...

4.backup

题目描述:X老师忘记删除备份文件,他派小宁同学去把备份文件找出来,一起来帮小宁同学吧!
解题步骤:题目问我们index.php的备份文件,我们直接再URL的后面添加上“index.php.bak”,回车就会自动下载一个txt文件,打开文件就能看到flag啦。
题目思考:index.php的常见备用名有"index.php.bak""index.php~"等等,“.bak”是最常见的,其他的太多了我记不过来了。

5.cookie

题目描述:X老师告诉小宁他在cookie里放了些东西,小宁疑惑地想:‘这是夹心饼干的意思吗?’
解题步骤:

1.右击检查,点击“网络”,按照页面提示点击“分析”按钮,分析后返回,并点击第一个。

攻防世界web新手练习区11道题讲解攻防世界web新手练习区11道题讲解

 2.点击右边的cookie会看到“look-here:"cookie.php"”

攻防世界web新手练习区11道题讲解

 3.修改URL,在后面添加"/cookie.php",回车后根据网页提示,重复步骤1,在右边的消息头中的响应头中就能看到flag了。

6.disabled_button

题目描述:X老师今天上课讲了前端知识,然后给了大家一个不能按的按钮,小宁惊奇地发现这个按钮按不下去,到底怎么才能按下去呢?
解题步骤:打开环境后显示一个不能按的按钮,那么我们要做的就是想办法让这个按钮能按。

 1.右键检查后观察查看器,展开body部分,右键编辑,删去“disabled=""”

攻防世界web新手练习区11道题讲解

2.删除后按钮就可以按啦,就能看到flag了~

题目思考:我还不太会HTML编辑嘞,但是这个还是很简单很明显的。

7.simple_js

题目描述:小宁发现了一个网页,但却一直输不对密码。(Flag格式为 Cyberpeace{xxxxxxxxx} )
解题步骤:我们可以先随便输入几个密码,发现都不对。

 1.检查查看源代码

攻防世界web新手练习区11道题讲解

 2.观察源代码,真正的密码是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"),除此之外,不管输入什么密码都会显示"70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65"解码后为:“ F A U X [空格] P A S S W O R D [空格] H A H A”

3.将真正的密码先用十六进制解码,再用ASCII码解码,就能得到密码啦,输入正确密码就能得到flag。可以用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)

题目思考:\x23这个格式是是十六进制

 8.xff_referer

 题目描述:X老师告诉小宁其实xff和referer是可以伪造的。
解题步骤:我用到一个浏览器扩展"Modify Header Value(HTTP Headers)"

1.打开这个扩展“Open options page”,环境网页提醒我们ip要是123.123.123.123,我们在扩展中修改xff.

1.攻防世界web新手练习区11道题讲解

 2.修改xff就是在扩展的第三部分,按找图片所示填写URL,Header Name和Header Value,然后点击add,就会显示如下图了,再刷新原界面,发现显示“必须来自https://www.google.com”。

攻防世界web新手练习区11道题讲解

 3.继续修改referer,如下图,刷新原界面就能得到flag了,注意网址要填写完整,建议直接复制粘贴吧。

攻防世界web新手练习区11道题讲解

题目思考:通俗一点解释xff就是修改ip,通过xff伪造可以让服务器误以为请求来自我伪造的ip,从而可以绕过ip封锁,从而正常访问我想要访问的服务器。而referer就是说明我是从哪个网站点进来的。

9.weak_auth

题目描述:小宁写了一个登陆验证页面,随手就设了一个密码。
解题步骤:检查后没有线索,随机输入一个账号密码后显示如下图:攻防世界web新手练习区11道题讲解

提示我们账号为admin,而密码则需要字典爆破,下面用到工具BurpSuite.

1.在浏览器增加一个扩展,我用的是FoxyProxy.并且新建一个proxy设定如下图,然后再burp suite里设置相同的hostname和端口号。攻防世界web新手练习区11道题讲解攻防世界web新手练习区11道题讲解攻防世界web新手练习区11道题讲解

 2.题目已经提示账号为admin,现在先打开foxyproxy和burp suite.攻防世界web新手练习区11道题讲解

 攻防世界web新手练习区11道题讲解

3.再随便输入一个密码,回车后发现网页一直在加载,此时burpsuite已经拦截了网页,在它拦截的request我们就能看到我输入的admin和password为123,接下来我们可以在burp suite上开始尝试爆破。攻防世界web新手练习区11道题讲解

4.在该网站对应的request处右击,send to intruder.攻防世界web新手练习区11道题讲解

5.在Intruder处选择sniper attack,选中最下一行的123,点击Add$,表示接下来要在此处爆破。并在最右边点击payload,点击load,这里我在csdn上下载了一个文件包含一些常见密码,加载这个文件,最后点击start attack开始爆破。攻防世界web新手练习区11道题讲解

攻防世界web新手练习区11道题讲解

6.burpsuite会将文件的数据一个个作为密码试过去,等完全爆破完后我们可以根据length的大小判断正确的密码,期间我们也可以直接点击数据查看response,可以看response里是否显示答案正确。最后密码是123456(我的burpsuite是免费版所以爆破很慢很慢呃呃)。用正确的账号密码登录就能看到flag啦。

攻防世界web新手练习区11道题讲解

题目思考:做完题目后我们会发现,其实这道题的账号和密码都很简单,所以我们之后遇到这类题目时可以先尝试几个容易出的账号密码,做出了的几率还是很大的。这题主要考察burpsuite的运用吧,好神奇...

10.command_execution

题目描述:小宁写了个ping功能,但没有写waf,X老师告诉她这是非常危险的,你知道为什么吗。
解题步骤:1.按照下图输入,表示查看根目录的home目录里有什么。
攻防世界web新手练习区11道题讲解

2.PING后显示home目录下有一个flag.txt,那么再按照下图输入,抓取flag.txt里面的内容就能得到flag啦。

攻防世界web新手练习区11道题讲解攻防世界web新手练习区11道题讲解

 

题目思考:这题其实需要linux知识用来查看根目录之类的。ls是“list”的缩写,在CTF或Web安全题目中,“|ls /home”是一种命令注入攻击的尝试。这里涉及到几个概念:命令注入:当Web应用程序将用户输入直接传递给系统命令执行时,如果未做适当过滤,攻击者可以注入额外命令。管道符(|):在Unix/Linux中,管道符用于将前一个命令的输出作为后一个命令的输入。

11.simple_php

题目描述:小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。
解题步骤:1.观察第一个if语句要去a为0但a也要为true,这个看似矛盾,但是因为php自身的漏洞所以可以实现,我们要看php的类型比较表,根据表格我们可以看0所对应的true,如“0”,false等都可以。

攻防世界web新手练习区11道题讲解攻防世界web新手练习区11道题讲解

2.在url后增加a发现得到的flag只有前半段,需要通过b得到后半段flag,通过下方代码可知,b的要求为既不是数字,若为数字将直接执行exit(),但是b又要大于1234.所以我们设定b为1237W,就是一个大于1234的数字加上一个字符串的类型,由于php自身的漏洞,当读取到字符串时自动结束,只保留字符串前的数字,这样b既不是一个完全的数字,又比1234大,就能得到完整的flag啦。

攻防世界web新手练习区11道题讲解攻防世界web新手练习区11道题讲解

题目思考:这道题要知道php的特色,PHP 是一种广泛使用的开源服务器端脚本语言,主要用于 Web 开发。但是PHP早期版本漏洞较多,这是CTF Web的常见题型。

后记:web相关要学习的东西很多,共勉!

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

相关阅读

目录[+]

取消
微信二维码
微信二维码
支付宝二维码