【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
相等
首先列印一下a
的md5
的值0eXXX
這個0e
比較特殊
root@gt:~/Codes# cat 1.php <?php$a = md5(QNKCDZO);echo $a;echo "
";?>root@gt:~/Codes# php 1.php 0e830400451993494058024219903391
為什麼說0e
在PHP
中比較特殊呢?我們來驗證一下
很明顯a
和b
是不相等的 但是在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 |