1. 程式人生 > >實驗吧:讓我進去

實驗吧:讓我進去

開啟題,沒思路,抓包吧。

cookie裡邊有一個source=0,改為1,得到原始碼。

$flag = "XXXXXXXXXXXXXXXXXXXXXXX";
$secret = "XXXXXXXXXXXXXXX"; // This secret is 15 characters long for security!

$username = $_POST["username"];
$password = $_POST["password"];

if (!empty($_COOKIE["getmein"])) {
if (urldecode($username) === "admin" && urldecode($password) != "admin") {
if ($COOKIE["getmein"] === md5($secret . urldecode($username . $password))) {
echo "Congratulations! You are a registered user.\n";
die ("The flag is ". $flag);
}
else {
die ("Your cookies don't match up! STOP HACKING THIS SITE.");
}
}
else {
die ("You are not an admin! LEAVE.");
}
}

setcookie("sample-hash", md5($secret . urldecode("admin" . "admin")), time() + (60 * 60 * 24 * 7));

if (empty($_COOKIE["source"])) {
setcookie("source", 0, time() + (60 * 60 * 24 * 7));
}
else {
if ($_COOKIE["source"] != 0) {
echo ""; // This source code is outputted here
}
}

之後就不會了,過了很長時間,才知道這是雜湊擴充套件長度。

看了很多部落格,也沒太理解這個東西是啥,講不了這個原理,智商問題。。。。唉!!!

可以參考這篇文章:https://www.cnblogs.com/pcat/p/5478509.html

不過大概知道什麼時候用這個。

例如:md5($a.$b)的值已知,並且$a的長度也知道。

使用工具hashpump,參考上面網址安裝。

Input Signature:填寫hash值。

Input Data:

Input Key Length:20(因為要得到密碼所以 長度是原來的15加上使用者名稱admin的5,一共是20)

Input Data to Add:隨便新增

這行的md5值  就是getmein的值

底下的都是密碼,但是必須經過urlencode。

用hackBar構造 得出flag。

寫的比較爛,還不是很懂雜湊擴充套件長度,繼續學習,寫一篇講解hash擴充套件的。