如何判断网站是否有SQL注入漏洞并利用它进行攻击?

如何检测网站漏洞

原文标题:如何判断网站是否有SQL注入漏洞并利用它进行攻击?
原文发布时间:2019-02-23 21:24
原文作者:摩西领航。

hello大家好,我是摩西。大三苦逼dog!

今天呢?带领大家认识一下web十大漏洞之SQL注入。

关于SQL注入

SQL注入是最常见最被人们熟悉的web漏洞。根据百科的解释:所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到 。

注意事项

今天我们在虚拟机环境下测试一个有SQL注入漏洞并且利用它对网站进行攻击。因为类似的渗透测试过程在没有经过对方允许的情况下,是属于违法的哟!所以大家最好也是在虚拟机上实验。或者你自己有一个个人网站,你可以把它当成小白鼠。

环境

平台:VMware

虚拟机:Linux kali、一个有漏洞的虚拟机win2008

测试开始

首先打开VMware,运行kali和win2008(有漏洞)。网卡选择桥接模式哦!这样能让本机和虚拟机在同一个网段,方便我们在外部主机访问虚拟机。

如何判断网站是否有SQL注入漏洞并利用它进行攻击?

在win2008运行完全之后,打开phpstudy(自己安装),点击启动,开启MySQL和apache服务。

如何判断网站是否有SQL注入漏洞并利用它进行攻击?

在命令行查询win2008的IP地址,我的是192.168.200.22(外部主机IP是192.168.200.21)。打开主机的浏览器,输入192.168.200.22/cms/。来到了我们的有漏洞的网站,我们的攻击对象。

如何判断网站是否有SQL注入漏洞并利用它进行攻击?

随便点进一个子网页,我们看看网址栏,发现有点意思!

如何判断网站是否有SQL注入漏洞并利用它进行攻击?

在网址后面加上and 1=1,网页正常显示,输入and 1=2,网页报错,证明,这是存在SQL注入漏洞的页面。

利用sqlmap进行SQL注入

点开kali系统,打开命令行,输入sqlmap,这是Linux自带的工具,不需要安装哦!

如何判断网站是否有SQL注入漏洞并利用它进行攻击?

复制好网址然后在kali命令行输入命令:sqlmap -u “http://192.168.200.22/cms/show.php?id=38” –dbs。意为查询数据库,查询网页背后是使用什么数据库的。 中间会弹出几次询问提示,按照提示操作就行了,我的是yes,yes,no。

如何判断网站是否有SQL注入漏洞并利用它进行攻击?

终于,等待了几分钟之后,我们查询到了背后的数据库类型,为以上十种。

查询到了数据库,那我们当然要继续往下查询,查询cms数据库下面的表,查询语法:sqlmap -u “http://192.168.200.22/cms/show.php?id=38” -D cms –tables。

非常奇怪,这里的截图上传不了,一上传就会破烂掉,难度头条不能发类似的截图吗?算了,大家按着操作就行了。

查询到了表,就要往下查询列了,查询到了列,找到password和usename类似的列的字段值,就能知道数据库的账户的账号和密码了,密码是md5加密的,网上随便找一个在线解密就行了(不过sqlmap好像是连解密也解出了的,直接给你明文了)。知道了账户的账号密码,那你想干嘛就干嘛了。后面的不多说了!

(连最后的结果截图也不让我发,这真是醉了。)

好了,SQL注入的大概流程就是这样了,还有一种手工注入的方法,有点烦这里就不说了,索性就用工具注入了。感谢各位看官,欢迎指出不足之处!文章日更哦!

留言

电子邮件地址不会被公开。 必填项已用*标注