对数据库进行中间人攻击

不是什么新东西,在drops看文章看见,觉得很有意思,就动手试了一下,just fun!
开始看见如此高大上的文章,以为很难,试过发现其实就和在内网玩arp插xss代码一样简单。

执行

用wireshark抓包之,如图:

点击查看原图

结果:

点击查看原图

数据库的执行语句和执行结果都明文进行传输,那么在内网是不是可以直接arp抓包获取客户端登陆的密码(客户端登陆的请求可不止有http,所以如果能抓数据连接包,比抓http的简单粗暴多了。)
不过我们这里说的是如何对查询语句进行注入修改
drops链接:http://drops.wooyun.org/tips/12749
文章里的数据库是mssql,由于本机没有环境所以就改用了mysql(说明两个数据库都是可以的,oracle不知道行不行,找个时间试一下。)

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

点击查看原图

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

点击查看原图

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

点击查看原图

此时就到了修改请求的时候,很简单,和我们玩中间人进行xss没什么区别。
下图为ettercap提供的例子:

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

下图为ettercap提供的例子:
看上去很简单,所以照着写就好咯,打开vim写个简单的脚本,如图:
这里我将select替换成了select user();
所以select @@version;  就变成 >>  select user();@@version;   (上图错误真相)

点击查看原图

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

点击查看原图

然后回到ettercap,加载编译好的脚本,然后打开Navivat执行select @@version;
然后就嘿嘿嘿了,如图:
点击查看原图
渗透猜想场景:进入内网,发现内网一些管理系统,你想进去后台看看却进不去怎么办呢?开着Cain抓管理员的密码?渗透那个管理系统所在的服务器?对于前者,管理员可能不上,而渗透又需要时间。此时我们就可以利用中间人攻击hack掉执行的sql语句。

如登陆的语句为:

在后面加上 or 1=1就好了,有没有感觉自己在sql注入,233333.
(其他猥琐场景请自行想象。)
现实场景:
现实总是很多坎坷的。
1.并不是所有的内网都能进行中间人攻击。
2.Arp动静太大可能会被管理员发现或者被某些设备监测、拦截。
3.你需要安装ettercap或者其他arp劫持工具(然后你就会遇到很多坑的问题了,权限呀,网卡呀..)
4.你需要知道劫持的数据库服务器的IP(当然,你可以全部都劫持。。)
[via@Jeary]