这里主要以MySQL举例

SQL注入原理

使用数据库的web程序没有对输入做严格的过滤,用户可以通过修改输入参数来构造并提交SQL,这使得攻击者有机会将程序命令当作用户输入的数据提交给web程序, 最终获取系统信息、甚至执行危险代码或系统命令

注:SQL注入最终注入的是数据库,与脚本、平台无关

SQL注入前奏

1.确定程序脚本

踩点(信息收集): web页面页脚、错误页面、页面源码等

漏洞扫描工具:AWVS、Nessus等工具刺探

2.确定所有可能的输入

web的用户输入方式比较多,其中一些很明显,如GET方式传参(url中)、HTML表单,另外还有HTTP头、cookies、ajax等

3.筛选可用于注入的输入

多留意web应用的错误页面会有很多意外收获

SQL注入判断

手工判断

1."单引号"法

原理是构造报错,如果页面显示报错,说明可能有注入

2.1=1 和1=2法

有时候提交引号会检测非法字符,这时候采用and 1=1 和and 1=2进行提交,如果返回不同的页面,说明可能有注入

工具判断

AWVS AppScan 明小子等

注入分类

SQL语法简介

SQL语法特点

多数数据库SQL语法类似

MySQL三种注释符

#  
--  
/*...*/  

select...where...   

表达式:
	1=1(True) 1=2(False),表达式里有命令会等命令执行后返回结果(命令有错页面报错)
	数字0、空字符串'' 为False(其余字符基本为True)
条件语句:也分True、False,如id=1,name='mr'
where整体为True,否则记录为空

where (条件语句)True or  (表达式)True 	# 显示所有条件语句的记录
where (条件语句)True or  (表达式)False 	# 显示符合条件语句为True的表记录
where (条件语句)False or  (表达式)True 	# 显示所有记录

where (条件语句)True and (表达式)True 	# 显示条件语句为True的表记录
where (条件语句)True and (表达式)False 	# 不显示记录

 

数字型

or 1=1

渗透之路 WEB漏洞【第一篇】SQL注入之SQL注入原理

渗透之路 WEB漏洞【第一篇】SQL注入之SQL注入原理

渗透之路 WEB漏洞【第一篇】SQL注入之SQL注入原理

 渗透之路 WEB漏洞【第一篇】SQL注入之SQL注入原理

 渗透之路 WEB漏洞【第一篇】SQL注入之SQL注入原理

渗透之路 WEB漏洞【第一篇】SQL注入之SQL注入原理

字符型

'or 1=1 #

渗透之路 WEB漏洞【第一篇】SQL注入之SQL注入原理

渗透之路 WEB漏洞【第一篇】SQL注入之SQL注入原理

渗透之路 WEB漏洞【第一篇】SQL注入之SQL注入原理

渗透之路 WEB漏洞【第一篇】SQL注入之SQL注入原理

 

 

 渗透之路 WEB漏洞【第一篇】SQL注入之SQL注入原理

搜索型

'or 1=1 #

渗透之路 WEB漏洞【第一篇】SQL注入之SQL注入原理

渗透之路 WEB漏洞【第一篇】SQL注入之SQL注入原理

XX 型注入

 ') or 1=1 #

渗透之路 WEB漏洞【第一篇】SQL注入之SQL注入原理

渗透之路 WEB漏洞【第一篇】SQL注入之SQL注入原理

渗透之路 WEB漏洞【第一篇】SQL注入之SQL注入原理

 

渗透之路 WEB漏洞【第一篇】SQL注入之SQL注入原理

注入提交方式

get请求一般在地址栏或者hackbar提交

简单的post请求一般hackbar构造包提交

非get请求Burp方便,复杂的包构造很麻烦,Burp直接基于包修改

get 提交

一般直接通过浏览器地址栏提交

post 提交

可通过安装火狐浏览器插件(hackbar 构造请求)或 Burp 工具来完成

渗透之路 WEB漏洞【第一篇】SQL注入之SQL注入原理

渗透之路 WEB漏洞【第一篇】SQL注入之SQL注入原理

渗透之路 WEB漏洞【第一篇】SQL注入之SQL注入原理

 

 

渗透之路 WEB漏洞【第一篇】SQL注入之SQL注入原理

cookie 提交

一般通 Burp 工具来完成

 

相关文章:

  • 2022-01-14
  • 2021-09-17
  • 2021-12-22
  • 2022-12-23
  • 2021-10-08
  • 2022-02-06
  • 2021-09-29
  • 2021-09-09
猜你喜欢
  • 2022-12-23
  • 2021-12-02
  • 2021-04-18
  • 2021-04-22
  • 2021-12-14
  • 2021-12-31
  • 2021-12-17
相关资源
相似解决方案