“ 个人学习笔记(一)”
SQL注入
简述
通过把SQL语句插入到用户输入内容、Web表单、页面请求中的变量中,最终被服务器执行,达到欺骗服务器执行恶意的SQL命令的攻击方法。
手工注入
联合查询注入
不同的数据库,由于在SQL语法上的差异,SQL注入方法也由于差异。虽然每种数据库的手工注入方法有所差异,但是手工注入的思路一致。
手工注入思路:
1.确定是否存在注入,注入是字符型还是数字型2.确定注入点的列数3.确定显示的字段顺序4.获取当前的数据库5.获取数据库中的表名称6.获取数据库中的列名称7.获取数据
MySQL数据库
一、确定是否存在注入,注入是字符型还是数字型
1. 数字型注入
构造测试 | 预期结果 |
1' | 页面变化 |
1 and 1=1 | 页面不变化 |
1 and 1=2 | 页面变化 |
1+1 | 页面变化 |
3 -1 | 页面变化 |
1+0 | 页面不变化 |
1- 0 | 页面不变化 |
1 or 1=1 | 返回所有记录 |
1 or 1=2 | 返回原来相同的结果 |
1 or 2>1 | 返回所有记录 |
1 or 1>2 | 返回原来相同的结果 |