如何利用SQL注入制造一个后门

测试者利用它来攻击一个系统程序,或服务以获得开发者意料之外的结果。常见的
有内存溢出网站程序漏洞利用,配置错误exploit
我们想让被攻击系统执行的程序,如reverse shell 鈳以从目标机器与测试者之间建立一
个反响连接bind shell 绑定一个执行命令的通道至测试者的机器。payload 也可以是只
能在目标机器上执行有限命令的程序
是进行攻击时的一系列被当作payload 的指令,通常在目标机器上执行之后提供一个可
执行命令的shell
MSF 的模块,由一系列代码组成
等待来自被攻击机器的incoming 连接的监听在测试者机器上的程序

1、攻击第一步:基础信息收集

2、用nmap 探测开放端口和服务:

}

想在本地测试的话可以在此免積分下载:

同上一篇文章()一样,我们需要创建数据表并在表中出入几条数据以备测试之用。

在数据库中建立一张表:

 

在表中插入数據的操作我就不贴代码了可以去下载下来直接导入到数据库。

接下来写一个处理用户请求的页面,这里我们故意不过滤用户提交过來的数据,留下个SQL注入漏洞用来测试

 

我们直接在浏览器中输入:

即可访问article表中id为1的一条记录

接下来,我们就利用这个漏洞(不知道该漏洞嘚情况下只能通过工具+手工检测),演示一下如何将article表下载下来

分析:%23是#的ASCII码,由于在地址栏中直接输入#后到数据库系统中会变成空需要在地址栏中输入%23,那么才会变成#进而注释掉后面的sql语句。

运行之后打开E盘,发现多了一个sql.txt文件打开之后,里面就是表article中的一条記录

为什么只有一条记录呢?难道该数据表就只有一条记录不是这样的,因为我们只检索id为1的一条记录而已那么能否将article表中的所有記录一次性全部下载下来呢?

答案是可以的只要你的构造的SQL语句足够灵活(再次提出了构造SQL语句的灵活性)。

      这样的话无论如何WHERE子句总是為真,换句话说该sql语句等价于如下:

      利用SQL注入漏洞,我们可以猜测表名列名,用户的密码长度(LEFT函数)等等当然了,如果能直接向以上嘚演示那样将表中的数据全部导出的话就没必要去猜表名列名等等

      和是我学习了相关内容之后的一点小结,没啥深度正如文章开头所說,权当总结别无它意。

}

我要回帖

更多关于 利用蛋壳制造了什么 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信