注入全方位利用-SQL注入的原理分析php
1、SQL注入本质sql
谈到SQL注入前咱们先谈谈什么是注入数据库
注入攻击的本质,是把用户输入的数据当作代码执行。服务器
这里有两个关键条件:函数
第一个是用户可以控制输入测试
第二个是本来程序要执行的代码,拼接了用户输入的数据spa
那什么是SQL注入,就是针对SQL语句的注入,也能够理解为用户输入的数据当作SQL语句的代码执行了blog
SQL注入是1998年一名叫作rfp的黑客发表的一篇文章所进入大众视线的原理
2、分析注入方法程序
显错注入-联合查询(Mysql数据库)的基本流程
判断注入点
最古老的方法: and 1=1 页面正常
and 1=2 页面不正常
最简单的方法: 页面后面加',看是否报错
还有一种方法: 尝试在语句末尾加注释,若是页面不变可能存在注入(不太准确)
若是是数字型传参,能够尝试+1 -1
例如:
http://www.xxx.com/new.php?id=1 页面显示id=1的新闻
http://www.xxx.com/new.php?id=1+1 页面显示id=2的新闻
and 1=1 and 1=2 被拦截的可能性过高了
能够尝试 and -1=-1 and -1=-2
或者直接 or sleep(5)
MYSQL注入
MYSQL注入(二)
渗透测试经常使用函数
GROUP_CONCAT(col) 返回由属于一组的列值链接组合而成的结果
ASCII(char) 返回字符的ASCII码值
DATABASE() 返回当前数据库名
USER()或SYSTEM_USER() 返回当前登录用户名
VERSION() 返回MySQL服务器的版本
SLEEP(n) 休眠n秒