IT技术互动交流平台

Anehta 新增加的ClientProxy功能

作者:aullik5   发布日期:2012-06-26 09:55:51

周末给Anehta增加了一个新功能: ClientProxy

和目前anehta的online proxy功能不一样。

online proxy是由anehta的服务器发起的,利用的是PHP发起的socket,自定义cookie后,由服务器去访问网站。

而clientproxy功能,则完全发挥了XSS的优势,是利用客户端AJAX去发起的请求。

不过由于同源策略限制,要处理AJAX返回的数据,只能在同域下,所以目前还不能跨域发起ClientProxy请求

不过即使是这样,这个功能也是非常非常有用的,在一些情况下,服务器可能会有HttpOnly Cookie,此时使用Online Proxy可能就获取不到Cookie了。

再比如被XSS的网站有客户端证书,比如支付宝或一些网银,用U盾之类;或者是被XSS的网站有IP访问限制,或者干脆在内网里面,这些因素都会导致 Online Proxy的失效www.it165.net

所以Client Proxy 是对 Online Proxy的非常好的补充。

不说废话了,上图:

在百度空间模拟跨站后,先GET了一下文章页面:

 


 

接下来,我尝试通过ClientProxy 发起一次POST:绕过百度空间的验证码,发一个匿名用户的评论出来!!
 


 

实际上post的参数是:
ct=8&cm=1&spBlogID=e7006862397f4d670c33fa09&spRefURL=http://hi.baidu.com/aullik5/blog/item/e7006862397f4d670c33fa09.html&spBlogCmtor=test&spBlogCmtURL=&spBlogCmtText=test&spVcode=30357370616365393532383030333436303030303030303030303030303031323236383139323037363ED1B99CC8AF19B944B35B2F06026E&spVerifyKey=URM6

验证码是 : URM6

抓包发现提交成功了!


 

我多点了两次,结果居然提交成功了,百度的验证码计算还是有点小问题的
 


 

在上面的例子中,手动输入了验证码,侧面解决了XSS中的验证码难题。

使用ClientProxy 就可以处理很多"多步操作"(multi-step)或者workflow的工作了。

目前ClientProxy 还有点小漏洞,比如熟悉anehta内部结构的人就可以直接调用clientproxy的触发函数,从而让后台去访问一个有跨站的页面,进而攻击到anehta后台。

由于本身clientproxy就是要尽可能的展示富文本,包括原来页面的脚本,所以这里不能做太多过滤或编码。

在下一个版本可能会考虑加上一个token以验证clientproxy请求是否是从后台发起的。

Tag标签: Anehta   ClientProxy功能  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规