Buuctf Web题解

[GXYCTF2019]Ping Ping Ping

打开页面发现只有一个 /?ip, 结合题目的 ping ping ping, 先试着发送一个地址

得到回显, 使用命令127.0.0.1;ls;

查看到存在flag.php, 使用命令cat flag.php

得到输出, 检查你的空格, 猜测是过滤掉了空格, 使用 $IFS$1替换空格

提示变为, 检查你的标签, 不知道是什么意思, 我们先查看一下, index.php, 使用命令cat$IFS$1index.php

发现过滤了许多符号, 和flag这个参数, 使用 base64绕过, cat$IFS$1ZmxhZw==.php;发现有回显, 但并没有出现flagF12查看也没有. 换一种方式, 使用参数进行绕过m=flag;cat$IFS$1$m.php;

发现还是不行, 使用参数 + 拼接进行绕过, 还是不行, 使用大写+参数绕过n=ag;cat$IFS$1fl$n.php;, 点击F12 获取到flag

[SUCTF 2019]EasySQL

[强网杯 2019]随便注

打开靶场,先试一试查询数据库 1' and select database() #, 发现返回内容

猜测是过滤掉了 select|update|delete|drop|inser|where这些语句,使用show databases看一下

发现出现是错误提示,在报错哪里本来有个#应该会注释掉后面的内容,但是好像并没有注释掉,使用--+试一试,还是不可以,再此分析,应该是闭合搞错了

输入框中默认是数字,不进行闭合试一试 ,不进行闭合会产生回显,但是并没有输出想要的数据库名,试了下堆叠注入还是不行

使用永真式试了一下,发现多了一些内容(在这一步中,不进行闭合还是默认输出,就试了一下引号闭合,可能是前面分析的有问题)

得到一个’114514‘ ,完全不知道是什么,当成数据库试了试没什么用。

突然想到上面的闭合出现了错误,所以重试了一下堆叠注入。成功显示出数据库。

再使用show tables查看一下表,发现有两个表

使用 desc分边查看一下,查看全数字的表时要用反引号包裹起来

再第一个表里,显示出存在flag,但好像没有办法获取到

第二个表中有id和data两列

在正常情况下,我们只有输入1,2会产生回显,观察这个回显,会发现它正好是id+data,说明正常显示的words,所以我们只需要篡改表名即可,将存在 flag的名字篡改为words表,那么当我输入的时候显示全部信息。

rename table 旧表名 to 新表名 1';rename table 1919810931114514 to words;--+出现以下情况,应该是注入成功了

查看一下,发现并不行,再分析一下,由于words表中存在两列,id+data,而我们修改后的words表中,表只有一列,也就是flag这一列,当我们进行查询时,可能是无id的原因,所以并不能显示出来,所以我们将flag这一列改为id,使用命令alter table words change flag id varchar(100);

这里需要注意,数据库中好像不允许存在两个相同的表名,所以我们先将words表换一个名字

rename table words to word,成功修改

使用永真,成功获取flag

[极客大挑战 2019]Secret File

打开靶场,无任何信息提示,点击F12查看源码

在源码中,有一个a链接,其链接到一个php中,直接点击进入到php

打开后为一下界面,提示点进去看一看,那就点进去

出现了以下内容,他这里显示没看清,有可能是在页面切换的时候,flag可能会直接闪过,直接burp抓包

burp抓包成功后,一步一步放行,在出现以下内容时,发现一个与flag格式相同的数据,尝试提交一下,在抓包时最好先运行一下,然后再抓包,不会会出现一些没用的东西。

在抓包后,将其发送到repeater中,点击send,在右侧出现了一个php,在浏览器中进去

进入secr3t.php中,发现提示,flag在flag.php中, 进去看一下

显示如下内容, flag应该在页面中, 但它提示看不见, F12查看一下源码

源码好像没什么提示, 因为提示就在这里, 而且有一个背景色的属性,尝试将背景改一下

去除背景色后, 发现没什么用

完全没用, 在之前的几步中, 我们在scer3t.php中可以看到php源码, 回去分析一下代码.

整体来说, 是scer3t.php会接受一个$file, 然后进行判断

stristr函数, 是判断字符在字符串中第一次出现的位置

在这里的php中, 如果敏感的话, 我们就可以发现$file=$_GET['file'], 与伪协议有关系, 而且传的参数是file, 很大可能与php://filter流有关系, (做完题回想的话, 在flag.php中提示看不见flag, 应该也算一种提示)

确定到这一步后, 直接

php://filter/read=convert.base64-encode/resource=index.php(文件名)

有东西显示出来, 因为是基于base64, 所有直接base64解码

解码后是一个html, 里面出现了flag, 尝试一下

成功通过

[极客大挑战 2019]LoveSQL

进入靶场后, 发现是一个登录页面, 先试一试 1’ or 1=1 #, 密码任意

尝试后发现, 登录成功, 而且给出了用户名和密码, md5撞库试一试, 尝试了几个网站, 什么结果也没有, 尝试一下十六进制转ASCII码, 发现乱码, 没用。

回到登录页面, 直接使用给的用户名和密码尝试一下,是可以进去的,但好像没啥用

回到登录页面,F12查看一下, 发现一个 sqlmap

才发现,页面顶部有东西,既然是sqlmap, 尝试下sql注入

先判断闭合方式,发现是单引号闭合,使用命令admin' order by 3 #

出现回显,但提示输入用户名和密码,尝试了其他方式,要么提示输入用户名和密码,要么提示密码错误,要么就是,下图这玩意。

看了一下大佬的题解,发现注释不能使用 # ,而要使用#的url编码, %23,完全不知道为什么,好像有的题就可以使用,猜测可能是过滤掉了#,但是在刚开始登录的时候,注释用的就是#而且登录成功。然后尝试了一下,发现不行了。

然后在输入框的注入是可以的,但在url这里又不行,拿burp抓包尝试了一下,发现这里输入#的话会注释掉后面的内容。所以如果直接在url这里输入#的话,它不会将其转为url编码,而是直接识别成了一个注释

如过在url中直接输入#,这里的get请求就只有username而没有password了

使用 --+进行注释也是一个道理。

所以将#url编码为%23,之后就可以回归正轨了

尝试到 order by 4 产生报错, 说明只有三列。

然后判断一下,用户名和密码这两个位置是哪几列,使用联合注入命令

union select 1,2,3,发现回显是2,3列(这里的用户名不要用admin)

直接使用 union select 1,group_concat(schema_name),3 from information_schema.schemata 的话,数据库名都堆起来了,完全看不清

所以使用,union select 1,database(),3 发现当前的数据库是 geek

使用命令查看一下数据库中的表

union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()

发现存在两个表 geekuser,l0ve1ysq1

使用命令查看一下,数据库中的列名

union select 1,group_concat(column_name),3 from information_schema.columns where table_schema=database()

看来geekuser,l0ve1ysq1两个表的属性都为id+name+passwd

使用命令查看一下,geekuser中的所有id和username,

union select 1,group_concat(id),group_concat(username) from geekuser

发现只有一个,看来 geekuser中存储的刚刚获得用户名admin和其密码

再看一下l0ve1ysq1表,使用命令

union select 1,group_concat(id),group_concat(username) from l0ve1ysq1 %23&password=1

发现第十六列,存储的用户名是falg,所有查看其密码就行

使用命令

union select 1,group_concat(id),group_concat(password) from l0ve1ysq1 %23&password=1

获取到flag

还是使用limit直接查看比较方便

union select 1,id,password from l0ve1ysq1 limit 15,16 %23&password=1

[极客大挑战 2019]Http

打开题目给的链接后,发现是一个介绍页面,老样子F12查看源码

代码有点多,换CTRL+U查看,再氛围这里有个php,进去

http://node5.buuoj.cn:29160/Secret.php,发现了一个新的页面,F12查看,什么也没有,进入页面给的网址中试试

进入后是404,注意到链接这里,https被划掉了,然后题目又是htpp,将https改为http试试

一直卡在了404界面,先不管它,回去找一找其他线索

注意到Secret.php页面显示的是,它不是来自“https://Sycsecret.buuoj.cn”,涉及到知识盲区了,查看一下其他大佬写的题解,知识盲区,先照着大佬的题解做一遍。

对Secert.php抓包,发送到Repeater中

伪造网站访问,referer

然后根据提示,伪造访问的浏览器名

之后伪造本地访问,X-Forwarded-For

最后send一下,获得flag。

**Referer:**浏览器向 WEB 服务器表明自己是从哪个 网页/URL 获得/点击 一般为当前请求中的网址/URL

User-Agent: 浏览器表明自己的身份(是哪种浏览器)。

**X-Forwarded-For:**在客户端访问服务器的过程中如果需要经过HTTP代理或者负载均衡服务器,可以被用来获取最初发起请求的客户端的IP地址,这个消息首部成为事实上的标准。

注意到Secret.php页面显示的是,它不是来自“https://Sycsecret.buuoj.cn”,涉及到知识盲区了,查看一下其他大佬写的题解,知识盲区,先照着大佬的题解做一遍。

对Secert.php抓包,发送到Repeater中

伪造网站访问,referer

然后根据提示,伪造访问的浏览器名

之后伪造本地访问,X-Forwarded-For

最后send一下,获得flag。

**Referer:**浏览器向 WEB 服务器表明自己是从哪个 网页/URL 获得/点击 一般为当前请求中的网址/URL

User-Agent: 浏览器表明自己的身份(是哪种浏览器)。

**X-Forwarded-For:**在客户端访问服务器的过程中如果需要经过HTTP代理或者负载均衡服务器,可以被用来获取最初发起请求的客户端的IP地址,这个消息首部成为事实上的标准。

[极客大挑战 2019]Knife

打开靶机后,注意到 eval 这个关键函数,可能是命令执行漏洞

尝试发送了几个Linux命令,但都没有显示,burp抓包试一试,也没什么用。

上网搜索了一下,web 菜刀,发现是webshell,与木马脚本有关,要用到中国蚁剑,然后再回顾一下 eval($_POST[]);,确实像是一句话木马的形式。

使用蚁剑右键添加数据,连接密码为上传的一句话木马的参数

测试连接,连接成功

添加数据后,进入文件管理中

查看到根目录这里,有一个flag文件

进入后发现flag

[极客大挑战 2019]Upload

根据题目,Upload,可能与文件上传漏洞有关系,打开靶机后,发现要上传文件,应该是文件上传漏洞了。

这里随便上传了一共压缩包,提交后出现提示,Not image!,看来必须要上传图片,这里先写一个一句话木马

用记事本写了个一句话木马,将其后缀改为jpg

这时候,就要用到burp抓包进行篡改了,因为我们要上传的木马后缀应该为php,但题目要求只能上传图片格式,用burp抓包,在其上传过程中,在请求中修改后缀,就可以绕过认证了。

在这里上传后,提交时进行抓包,改完后缀后,Forward通过即可

这里提交后,出现Not php,看来不能使用php的一句话木马

这里尝试了asp后缀,可以看到其显示发生变化,说明在上传文件这一步成功绕过了前端的检测,但后端应该是还存在检测,使用 幻术头 绕过试一试, 文件幻术头,就是在文件前面添加图片对应的标志头部,以绕过后端。

这里在尝试jpg,gif十六进制头的时候,不知道为什么成功不了,将gif十六进制转为字符突然就行了

成功上传

这里又出现问题,不管怎么连都连接不上,URL的地址是上传的木马所在地址,因为是上传文件,一般情况下其地址为upload/xxx,这里用浏览器可以查看。

不知道为什么一直连接不上。这里换了aspx也是一样的问题。

查看了一下题解,用phtml试了一下

GIF89a

成功上传,蚁剑连接一下,ok,还是连接不上。

后面才发现,原来是我拼写错误,将script写成了scrpit,更改后成功连接。

这里直接在根目录找到了flag文件,点进去就是flag了

后缀:

phtm, phtml,phps

[ACTF2020 新生赛]Upload

打开靶场,鼠标移动到灯这里,模糊显示上传文件

这里上传一个php木马,试试

这里提示要上传图片,而且是以jpg,png,gif结尾的图片

这里随便上传了一张图片,然后给出了文件的地址

这里看了下这个路径,发现被禁止了,应该是权限不够

这里尝试,上传php木马,burp抓包绕过试试,将文件后缀改为phtml

成功上传,

根据提示的路径,使用蚁剑连接,成功连接,密码为传入的参数

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

744e1c2d29d3bb4fa.png)

根据提示的路径,使用蚁剑连接,成功连接,密码为传入的参数

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。

[外链图片转存中…(img-5GIQ7P3m-1715832240377)]

[外链图片转存中…(img-rnYCJoik-1715832240377)]

[外链图片转存中…(img-2pKn2x7Z-1715832240378)]

[外链图片转存中…(img-u9jrwUPc-1715832240378)]

[外链图片转存中…(img-6YuVQr0w-1715832240378)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
buuctfmisc是一个CTF比赛中的题目,涉及到网络分析工具Wireshark的使用。Wireshark是一款开源的网络协议分析工具,可以用于捕获和分析网络数据包。在buuctfmisc题目中,可能需要使用Wireshark来解析和分析给定的网络数据包,以获取关键信息或者解决问题。 具体的题解步骤可能因题目而异,但通常的解题思路如下: 1. 下载并安装Wireshark:首先需要从Wireshark官网下载并安装适合你操作系统的版本。 2. 打开Wireshark并开始捕获数据包:打开Wireshark后,选择合适的网络接口开始捕获数据包。可以通过点击"Capture"按钮或者使用快捷键Ctrl + E来开始捕获。 3. 分析捕获的数据包:Wireshark会将捕获到的数据包以列表形式展示出来。你可以通过点击每个数据包来查看其详细信息,包括源IP地址、目标IP地址、协议类型等。 4. 过滤数据包:如果题目要求只关注特定的数据包,你可以使用Wireshark提供的过滤功能来筛选出符合条件的数据包。过滤条件可以根据协议、源IP地址、目标IP地址等进行设置。 5. 提取关键信息:根据题目要求,你可能需要从数据包中提取关键信息。Wireshark提供了多种功能来帮助你提取数据,比如导出数据包、导出特定协议的数据等。 6. 分析数据包内容:根据题目要求,你可能需要进一步分析数据包的内容。Wireshark可以解析多种协议,你可以查看每个数据包的协议栈、协议字段等信息。 7. 解决问题或回答题目:根据你对数据包的分析和提取的关键信息,你可以解决问题或者回答题目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值