对于ACCESS跨库的一些思考
最近入侵了一个ACCESS的站,把得到的 一些 想法记录下来: 这个站设置很变态,什么都没有,连FSO都删了,好不容易找到一个宝贵的注入,点几经周折进了后台,看到可以更改上传类型,大喜,可是怎么改也改不了,最后发现上传类型记录在config.asp里,没FSO根本改不了,Fain
最近入侵了一个ACCESS的站,把得到的一些想法记录下来:
这个站设置很变态,什么都没有,连FSO都删了,好不容易找到一个宝贵的注入,点几经周折进了后台,看到可以更改上传类型,大喜,可是怎么改也改不了,最后发现上传类型记录在config.asp里,没FSO根本改不了,Faint.....
我只能围绕这个唯一的注入点展开思考,如果是SQL那该多好,如果是SA权限那该多好,艾, YY是没用的,我还是被ACCESS少得可怜的功能阻挡住了
我望着上传类型发呆,GIF JPG RAR MDB ,Wait,看到了MDB 我突然想起来几年前曾经流行的MDB溢出,在MDB数据库里面加入溢出代码,只要打开数据库就执行溢出代码
我可以上传个溢出MDB,可是上传了并没有用,如何让溢出代码真正执行呢?
看到后台的网站绝对路径,我立刻想到了跨库,HaHa,只要上传一个有问题的数据库,然后利用跨库查询,溢出就实现了,这个理论上是成立的,Have a try
制作溢出MDB,指定了Callback IP和Port,上传,
Select Count(*) from [D:\新版网站\UploadFiles\20077181931188.MDB].test
HoHo本地监听顺利出现了Shell,哈哈,溢出成功,虽然溢出的得到的 SHELL只有 GUEST权限,不过还是很开心,可以ECHO小马,可以用Serv-u提权,还是很不错的
总结一下,MDB溢出+跨库 得Shell的方法必须要有的条件:
1.要有网站绝对路径
2,要有上传点,随便什么格式都行 (后来发现即使不是MDB后缀,只要格式正确都能够用跨库连接)
3.当然,还要有注入点
就这些条件,比起曾经被炒得很火的out into导出shell条件不算很苛刻吧
还有一些心得,也写下来:
1.网上有些人说跨库只能用Union查询,其实不然,我用的是
city=1 and (Select Count(*) from [D:\新版网站\UploadFiles\20077181931188.MDB].test)>0
,这样也是可行的
2.当MDB溢出成功之后ACCESS就死了,主机上任何数据库都无法连接,直接导致网页打不开,所以一定要一次成功
2. 关于跨库的路径问题,我曾想过如果得不到绝对路径怎么办,用相对路径,报错磁盘格式错误,我觉得这个提示似乎有点暧昧,他没有说路径找不到,只是说磁盘格式错误,那是不是因为相对路径里面包含字符的原因呢,这个有待研究. 还有一点,我发现路径可以用IPC$,比如输入\\localhost\C$\boot.ini ,系统是能够认出来的,我暂时还没想到这个怎么利用,至少能够猜猜目录吧 ^_^