1. 程式人生 > >sql報錯注入例項

sql報錯注入例項

題目地址 bugku 多次 http://123.206.87.240:9004/
本地有兩個部分,第一關的介面如下,
在這裡插入圖片描述
加上單引號出現報錯,再加上23%可以顯示正常的介面,發現過濾了很多的字元,在這裡用異或(^)的方式檢查過濾了哪些字元,
異或:當同時為真或者假的時候為假
在這裡插入圖片描述
然後就可以構造payload;來測試過濾了哪些字元
因為length(‘or’)!=0 為真,所以應該會報錯,而此時沒有沒有報錯,說明後面 的語句length(‘or’)!=0是假的,即可以判斷過濾了or。依次可以判斷出過濾了哪些字元
在這裡插入圖片描述
通過第一關,我們可以拿到第二關的地址。來到第二關
在這裡插入圖片描述
通過測試看到過濾了union字元,這裡想到用extractvalue函式實現報錯注入
常見的sql報錯函式簡介:
extractvalue():對xml文件進行查詢的函式
語法:extractvalue(目標xml文件,xml路徑)
第二個引數中的位置是可操作的地方,xml文件中查詢字元位置使用/xx/xx/…這種格式,如果寫入其他的格式,則會出現報錯,並且返回我們寫入的報錯的內容,
在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述