547 字
3 分钟
Web漏洞攻防-SQL注入
2021-12-30

0x00 什么是SQL注入#

1、简述#

SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。

2、SQL注入的工具#

burp

SwitchyOmega

HP WebInspect

IBM Rational AppScan

HP Scrawlr

3、报错注入#

4、区分注入类型#

数字:不需要使用单引号来表示

其他类型:使用单引号来表示

‘or’=‘or’

5、各类的数据库注释(终止式注入)Terminating SQL Injection#

*Oracle*

REM单行注释

— 单行注释

/多行注释/

MS SQL Server

— 单行注释

/多行注释/

*MySQL*

#单行注释

— 单行注释(特别注意,— 后有个空格!!!)

/多行注释/

总结:

/多行注释/ 和— 单行注释都差不多,MySQL要注意。

非标准的#和REM最好还是不要用了

为了兼容— 后面最好都加空格

Database Concatenation Operators#

DatabaseConcatenation
Microsoft SQL Server’a’ + ‘b’ = ‘ab’
MySQL’a’ ‘b’ = ‘ab’
Oracle and PostgreSQL’a’ || ‘b’ = ‘ab’

5、代码审查工具#

1、RIPS

2、Fortify

3、Rational appscan

Web漏洞攻防-SQL注入
https://fuwari.vercel.app/posts/sql_inject/
作者
Lorem Ipsum
发布于
2021-12-30
许可协议
CC BY-NC-SA 4.0