【Web-南郵CTF】Web-CTF入門第1天

【Web-南郵CTF】Web-CTF入門第1天

來自專欄信息安全入門筆記9 人贊了文章

黑客筆記--7天入門南郵CTF-WEB篇

簽到題

查看源代碼! 第一次玩CTF沒啥經驗 竟然有這樣的題目?出題人怎麼想的?

<html> <title>key在哪裡?</title> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <a style="display:none">nctf{flag_admiaanaaaaaaaaaaa}</a> </head> <body> key在哪裡? </body></html>

md5 collision

$md51 = md5(QNKCDZO);$a = @$_GET[a];$md52 = @md5($a);if(isset($a)){if ($a != QNKCDZO && $md51 == $md52) { echo "nctf{*****************}";} else { echo "false!!!";}}else{echo "please input a";}

核心是滿足條件:$a!=QNKCDZO&&$md51==$md52

咱們需要構造一個請求 滿足md5相等

首先列印一下amd5的值0eXXX 這個0e比較特殊

root@gt:~/Codes# cat 1.php <?php$a = md5(QNKCDZO);echo $a;echo "
";?>root@gt:~/Codes# php 1.php 0e830400451993494058024219903391

為什麼說0ePHP中比較特殊呢?我們來驗證一下

很明顯ab是不相等的 但是在PHP中 神奇的== 輸出eq

所以我們構造衝突串md5就簡單很多了

root@gt:~/Codes# cat 2.php <?php$a = 0e123;$b = 0e456;if($a == $b) echo "eq
";else echo "not eq
";?>root@gt:~/Codes# php 2.php eq

接下來 咱們就需要暴力構造衝突串md5的值是0e開頭的就可以了

咱們寫個小腳本 慢慢等吧

<?php$tmp = hackbiji+;$b = 0e830400451993494058024219903391;do{$pos = 1;$mstring = $tmp.(string)$pos;$a = md5($mstring);$pos = $pos + 1;}while($a != $b);echo $mstring;echo "
";echo $a;echo "
";?>

不好意思 跑了一天一夜也沒有跑出結果

試一試新的思路?

推薦閱讀:

是不是被克隆電話卡了呢?如何解釋這件事情?
DefCon China 2018 上有哪些值得關注的信息?
黑客進攻時的屏幕是怎樣的?
回收站清空後能通過修改註冊表來恢復嗎?
早期的中國黑客喜歡讀什麼書?那個時代的「教科書」或者"聖經"是什麼?

TAG:CTFCaptureTheFlag | 信息安全 | 黑客Hacker |