三步法:
一、找到注入點
二、fuzz出未過濾字元
三、構造payload/寫指令碼
例題1
開啟題目:
第一步,尋找注入點。
輸入使用者名稱123456,密碼
123456
,返回結果
username error
!輸入使用者名稱admin,密碼
123456
,返回結果
password error
!輸入使用者名稱admin,密碼
admin
,返回結果
password error
!(根據提示已知這是道注入題,所以可判斷注入點在使用者名稱)
第二步,fuzz出未過濾字元。
fuzz後,發現
%返回結果不同
看到sprintf函式,我們能
想到php的字串格式化逃逸漏洞,這個漏洞導致的結果是會將%1$/』變為』。
此時我們再嘗admin%1$\』 and 1=1%23,結果返回了username error!
根據之前測試,and 1=1返回
password error
!才表示成功。猜測應該是過濾了
and,我們再嘗試一下admin%1$\』 or 1=1%23(這裡可以再fuzz一次),執行成功了。
第三步,構造payload/寫指令碼。
本題未過濾其他字元,剩下的就是盲注了,指令碼大家根據題目自行編寫,最終拿到flag。
例題2
開啟題目:
第一步,找到注入點。
在搜尋框輸入1,返回
在搜尋框輸入2,返回
由此判斷是盲注,注入點是id=1處。
第二步,fuzz出未過濾字元。
這些是被過濾掉的(空格也被過濾了),or沒有被過濾,我們嘗試輸入
明明沒有過濾掉or,應該是後端給過濾了,嘗試雙寫繞過:
1'/**/oorr/**/'1'='1
,還是you are not in...
,再用%0a
代替/**/
(即空格)
雖然沒顯示you are in,但是應該是注入成功了。
第三步,構造payload/寫指令碼。
剩下的就是盲注了,大家根據題目自行編寫就好了,最終拿到flag。
總結:
此類題目的難與易主要在於尋找注入點,對於難一點的題目,出題人會把注入點藏得很隱蔽,需要大家不斷地嘗試,細心地去尋找。
「三步法」閱讀文獻
三步法 來閱讀文獻讓你深深受益,一方面,使你對文獻有全盤的理解,而不是淹沒在細節當中 另一方面,由於每一步都有大致的時間預判,可以讓你評估審閱一堆 時需要花費的時間,也可以根據自己的需要和時間來調整對文獻的理解深度。三步法 的主要思想就是應該在三步內讀完 而不是從一開始就不分輕重地苦讀到最後。清楚自...
給領導提意見的三步法
給領導提意見不能直來直去,必須使用一些技巧。提意見最重要的當然是自己的意見被對方所採納,在這樣的前提下,使用一些技巧是非常必要的。我們經常會看到甚至會親身遇到這樣的情況 話是好話,意見對雙方都有好處,但是僅僅由於說話的方式和技巧的問題,搞得雙方不歡而散,甚至形同仇敵。可以看出技巧是非常重要的。因此,...
Python程式設計基礎 函式式程式設計三步法
函式式程式設計三步法 先有可執行的 再加以邏輯實現,最後使用def 定義函式名,這就完成乙個隨時可呼叫的函式。需求 7.編寫如下程式 a.使用者輸入1 7七個數字,分別代表周一到週日 b.如果輸入1 5,列印對應的 周一 週日 如果輸入的數字是6或7,列印輸出 週末 c.如果輸入0,退出迴圈 思路 ...