注入全方位利用-SQL注入的原理分析

注入全方位利用-SQL注入的原理分析

一、SQL注入本质

谈到SQL注入前我们先谈谈什么是注入

注入攻击的本质,是把用户输入的数据当做代码执行

 

这里有两个关键条件:

 

第一个是用户能够控制输入

第二个是原本程序要执行的代码,拼接了用户输入的数据

那什么是SQL注入,就是针对SQL语句的注入,也可以理解为用户输入的数据当做SQL语句的代码执行了

SQL注入是1998年一名叫做rfp的黑客发表的一篇文章所进入大众视线的

 

二、分析注入方法

显错注入-联合查询(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秒

posted @ 2019-08-02 17:17  正一同学  阅读(374)  评论(0编辑  收藏  举报