後台登陸 實驗吧 Write up

2021-09-17 03:27:37 字數 970 閱讀 4648

格式:flag:

開啟源**:

其中最重要的一句就是:

sql =

"select * from admin where username = 'admin' and password = '"

.md5

(password,

true).

"'";

首先解釋一下md5這個函式:

​ 這裡的引數為true,大致意思就是對你輸入的密碼進行32位md5加密後,再進行十六進製制和字串之間的轉化。

例項化:

這道題的思路應該是構造乙個'or'***'的密碼,只要後面的字串為真即可。那麼可以根據32位16進製制的字串來查詢『or』對應的16進製制是276f7227,所以我們的目標就是要找乙個字串取32位16進製制的md5值裡帶有276f7227這個欄位的,在276f7227這個字段後面緊跟乙個數字(除了0)1-9,對應的asc碼值是49-57,轉化為16進製制就是31-39,也就是含有276f7227+(31-39)這個字段,就可以滿足要求。

​ 比如說:276f722736c95d99e921722cf9ed621c正是ffifdyop的md5轉義。但是這個ffifdyop又是怎麼出來的?

​ 其實就是最開始開啟那個php鏈結的名字。(這種謎底就在謎面上的題真的很煩人有趣)

實驗吧 後台登陸(writeup系列)

前言 右鍵檢視審查元素就可以看到原始碼中的邏輯判斷。我們重點關注下這裡的sql語句 sql select from admin where username admin and password md5 password,true 看到密碼被md5加密了,是不是感覺沒戲了?其實我們還是有辦法的,md...

實驗吧 後台登入 Writeup

感覺學習到了瓶頸了,最近還在備考s 工作也特別忙,有空的話,每天搞個web相關的ctf題目做做吧,學些姿勢。一進去就發現是需要登陸,第一反應是注入。試了一會,萬能密碼啥的發現都提示密碼錯誤。審查元素,發現了注釋,已經給了sql語句了,發現密碼是被md5加密的,並且只輸出16位,並且以 raw bin...

實驗吧 後台登入

檢視原始碼 password post password sql select from admin where username admin and password md5 password,true result mysqli query link,sql if mysqli num rows...