对数据库进行中间人攻击

WEB安全 6个月前 (05-15) 1,149 人围观 2

不是什么新东西,在drops看文章看见,觉得很有意思,就动手试了一下,just fun!

开始看见如此高大上的文章,以为很难,试过发现其实就和在内网玩arp插xss代码一样简单。

执行select @@version;用wireshark抓包之,如图:

9d2e1456125939.jpg

结果:

97891456126016.jpg

数据库的执行语句和执行结果都明文进行传输,那么在内网是不是可以直接arp抓包获取客户端登陆的密码

(客户端登陆的请求可不止有http,所以如果能抓数据连接包,比抓http的简单粗暴多了)

不过我们这里说的是如何对查询语句进行注入修改

drops链接:http://drops.wooyun.org/tips/12749

文章里的数据库是mssql,由于本机没有环境所以就改用了mysql

(说明两个数据库都是可以的,oracle不知道行不行,找个时间试一下)

  1. kali开启ettercap,然后扫描主机,讲要劫持的主机添加到目标

    8d5b1456126020.jpg

2.选择中间人攻击方式为arp,然后点启动,然后点击view里的Connection进入查看连接界面

a01d1456126027.jpg

我们点击3306那个连接查看拦截到的请求(请无视右边的错误,那是我劫持后导致语句错误)b9541456126031.jpg

此时就到了修改请求的时候,很简单,和我们玩中间人进行xss没什么区别

下图为ettercap提供的例子:

1.jpg

此时就到了修改请求的时候,很简单,和我们玩中间人进行xss没什么区别

下图为ettercap提供的例子:

1.jpg

看上去很简单,所以照着写就好咯,打开vim写个简单的脚本,如图:

这里我将select替换成了select user();

所以select @@version;  就变成 >>  select user();@@version;   (上图错误真相)

2.jpg

保存之后,用etterfilter编译一下,如图:

ae041456126042.jpg

然后回到ettercap,加载编译好的脚本,然后打开Navivat执行select @@version;

然后就嘿嘿嘿了,如图:

20160227.jpg

渗透猜想场景:进入内网,发现内网一些管理系统

你想进去后台看看却进不去怎么办呢?开着Cain抓管理员的密码?

渗透那个管理系统所在的服务器?对于前者,管理员可能不上,而渗透又需要时间

此时我们就可以利用中间人攻击hack掉执行的sql语句

如登陆的语句为:

select * from user_table where username = 'admin' and password = '123456'

在后面加上 or 1=1就好了,有没有感觉自己在sql注入,233333.

(其他猥琐场景请自行想象)

现实场景:

现实总是很多坎坷的

1.并不是所有的内网都能进行中间人攻击

2.Arp动静太大可能会被管理员发现或者被某些设备监测、拦截

3.你需要安装ettercap或者其他arp劫持工具(然后你就会遇到很多坑的问题了,权限呀,网卡呀..)

4.你需要知道劫持的数据库服务器的IP(当然,你可以全部都劫持)

 

原文地址:http://hack1990.com/post/1803.html