php crypt 函式問題

2021-10-09 03:53:35 字數 744 閱讀 8726

在復現做一道國外的題得時候,發現了乙個有趣的東西

crypt ( string $str [, string $salt ] ) : string
在文章的step2中,作者講述了php crypt函式的一些問題(都是在salt,也就是crypt函式的第二個引數存在時才成立)

原題的**大概精簡後如下

<?php

$hopper='imp1ckleeeeer1ckkkkkk c-1337 danc';

if (isset($_get["second"]))

else

}else

原體中md5的第二個引數 為 fa1se 不是 false ,所以 md5的結果是原始的二進位制資訊,而md5($hopper) =640011bde142fe749016646d1d64f8c5,他的原始二進位制資料中帶有 \00 ,crypt函式處理的資料大概是所以只要找到乙個 md5值為6400開頭的即可繞過,用文章裡的bash指令碼

i=0; while : ; do echo -n $i | md5sum | grep -e '^6400' && echo $i && break || i=$((i+1)) ; done
一開始的時候不太懂為什麼找6400,而不是640,後來思考,可能在二進位制轉換十六進製制數時,把乙個位元組轉換成了兩位十六進製制,也就是4個位元轉換成一位16進製制,而 '\x00』是乙個位元組大小,菜雞再次留下淚水

,函式呼叫問題

得到錯誤資料的語句 1 if p head null readalldata p head,sqlitedb,p valuetime 0 得到正確結果的語句 2 if p head null goto quit if readalldata p head,sqlitedb,p valuetime 0...

Oracle REPLACE 函式問題

今天遇到個oracle 函式問題,記下來.select replace ord index,15,美國 from ap menu t 可以 select replace ord index,70,中國 from ap menu t 可以 現在我要將兩個合在一起,即查出來的所有資料 只要是15就顯示 ...

scanf 函式問題

今晚研究一下scanf函式 大部分內容 於c語言中文網中 c語言常見問題集 我只不過是做了綜合 1 首先,傳給scanf的必須是指標,對於每個值,scanf都會寫入指標所值的位置,所以必須加 在寫程式時候經常會忘記。2 scanf 函式的返回值反映的是按照指定的格式符正確讀入的資料的個數。如果輸入資...