一次Cookie中转注入拿后台账户密码
目标:http://www.XXXXXXXX.com/admin/login.asp
用到的工具:注入中转生成器.exe NetBox.exe
原理:Cookie注入简单来说就是利用Cookie而发起的注入攻击。从本质上讲,cookie注入与传统的SQL注入并没有大的区别,二者都是对数据库的注入,只是表现形式不同。要想深入了解cookie注入的成因,必须要了解ASP脚本中request对象。它被用来获取客户端提交的数据。包含了ClientCertificate、Cookies、Form、QueryString、ServerVariables这些集合。Request对象的使用方法一般是这样的:request[集合名称](参数名称),比如获取从表单中提交的数据时,可以这样写:request.form(“参数名称”),但ASP中规定也可以省略集合名称,直接使用这样的方式获取数据:request(“参数名称”),当使用这样的方式获取数据时,ASP规定是按QueryString、Form、Cookies、ServerVariables的顺序来获取数据的。这样,当我们使用request(“参数名称”)方式获取客户端提交的数据,并且没有对使用request.cookies(“参数名称”)方式提交的数据进行过滤时,cookie注入就产生了。
打开目标站点后,随便访问一个web页面。然后在地址栏中数字的后面加上一个英文状态下的单引号,并回车。结果如下:
上图提示说不要在参数中出现:and update delete; insert mid master等非法字符。
这是在ASP程序中做了防注入的过滤。我们可以使用cookie中转进行SQL注入。
接下来,我们打开注入中转生成器,设置结果如下:
(打开的时候,默认选择的是POST注入,一定要改选为COOKIE注入)
然后点击“生成ASP”。就会生成一个jmCook.asp文件。
接着打开NetBox.exe,这个主要用户本地服务的。
然后在地址栏中输入:http://127.0.0.1/jmCook.asp?jmdcw=326并回车,结果如下:
可以正常访问。
然后就用常规的SQL注入语句进行注入。通过order by语句知道字段数是10。
通过使用and exists (select * from admin)知道存在admin这个表:
通过and exists (select username,password from admin)知道admin表中存在username和password这两个字段。
接下来,我们通过union语句进行字段的查寻。用到的语句为and 1=2 and union select 1,2,3,4,5,6,7,8,9,10 from admin
从上图可以看到,回显的位置是2和3。然后我们将2和3分别替换成username和password。就会看到帐号和密码:
将得到的md5密码120c61da1f5f21dd到cmd5.com这个网站进行解密得到明文30dapianzi
接下来就可以进行后台的登录了,结果如下:
就到此吧,拿shell和提权就先不搞了。
========================================
手法较常规,故不予通过。
|
|