1.sql 注入原理
SQL 注入就是指 web 应用程序对用户输入的数据合法性没有过滤或者是判断,前端传入的参数是攻击者可以控制,并且参数带入数据库的查询,攻击者可以通过构造恶意的 sql 语句来实现对数据库的任意操作。
举例说明:
$ id=$ _get[‘id’]
$ sql=select * from users where id=$id limit 0,1
2.SQL 注入漏洞产生的条件
1):参数用户可控:前端传入的参数内容由用户控制
2):参数带入数据库的查询:传入的参数拼接到 SQL 语句,并且带入数据库的查询
3):对用户输入的数据没有做合法性的判断
3.SQL注入漏洞攻击流程
1)注入点探测
自动方式:使用web漏洞扫描工具,发现注入点;
手工方式:手工构造测试语句发现注入点。
2)信息获取
环境信息:数据库类型,数据库版本,操作系统版本,用户信息等;
数据库信息:数据库名称,数据库表,字段,字段内容。
3)获取权限
获取操作系统权限,通过数据库执行shell,上传代码。
4.SQL 注入漏洞探测方法
一般来说,SQL 注入一般存在于形如:http://xxx.xxx.xxx/abc.asp?id=XX 等带有参数的ASP动态网页中,有时一个动态网页中可能只