SQL注入之二次注入

php二次注入:

本次主要了解什麼是二次注入:

概念:攻擊者構造了惡意的數據存儲到數據庫後,惡意數據被讀取並進入到sql語句中執行,因此判定爲二次注入。

主要分爲兩個步驟:
第一步:插入惡意數據:進行數據庫插入時,對其中的特殊字符進行轉義處理,在寫入數據庫的時候又保留了原來的數據。
第二步:引用惡意數據,程序默認認爲已經存入到數據庫的數據是安全的,直接從數據庫中取出惡意數據,沒有進行下一步的檢驗處理。
例子:DZ 1.5
1.在論壇留言板中填寫留言:aaaaaaaaaaaa’添加成功
2.在修改中隨便輸入內容,報錯即可判定爲二次注入,在url地址中修改mod=misc&action=postappend&tie=[當前tid]&pid=[當前pid]進入到獨立的修改頁面,因爲該頁面沒有對數據進行任何處理,可直接引用第1步中的數據帶入到數據庫執行。
具體操作:
1.查數據庫名:留言:’,subject=(/*!select*/concat(tabasese()),comment=’)提交
2.進入獨立編輯頁面後直接提交,返回到留言板可看到數據庫名爲discuz,因此在第1步中輸入的sql語句被執行了。
3.重複1步替換sql語句查出數據
4.重複2步驟,之後一直重複1,2步驟直到查出後臺賬號密碼爲止

重點:主要切入點是從代碼審計中挖洞

發佈了15 篇原創文章 · 獲贊 3 · 訪問量 908
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章