Burp Xss Scanner插件开发思路分享(附下载)
"0×03 序言
Burp尽管内置xss检验,可是Pyload与总数都并不是自个能操控的。因此自个写这款Xss检验软件,对1个主要参数开展检测的那时候,规定只有上传多次Payload(检验可否开展肇事逃逸当今分隔符),并且可以对Dom Xss开展检验。
0×08 检验构思
最初的构想是上传带’”<>的.com post请求,看可否回到’”<>这种空格符,针对检验html语言-content xss 和 Js-content xss的状况非常好解决,可是没法检验dom xss。必须3D渲染网页页面,因此应用java中的htmlunit开展网页页面3D渲染,来分辨’”<>的过虑状况(因为开展网页页面3D渲染,会全自动改动不正确的html语言英语的语法),及其涵数hook,改编Js中的构造函数涵数开展分辨是不是存有dom xss。
0×81 制成品
html语言-content xss检验
Js-content xss检验
dom xss检验
0×08 html语言-content xss检验
我觉得原本这一是最非常容易,可是上边提及htmlunit会全自动调整不正确的html语言英语的语法,也必须谈及一下下。
应用给出测试函数,对3D渲染后的编码开展检测。
@org.junit.Test public void CheckHtmlXss() throws IOException {
WebClient webClient = new WebClient();
webClient.getOptions().setJavaScriptEnabled(true);
webClient.getOptions().setCssEnabled(false);
webClient.getOptions().setUseInsecureSSL(true);
webClient.getOptions().setThrowExceptionOnScriptError(false); //获得网页页面 try {
String url ="".com://127.0.0.1/test2.Python?url=xxxxx"";
HtmlPage page = webClient.getPage(url);
System.Out.println(page.asXml());
} catch (ScriptException e) {
System.Out.println(e.getFailingLine());
System.Out.println(e.getPage().asXml());
}
webClient.close();
}
检测下边这一xss。
全句智能化原創Python $url = $_set['url']; echo ""<img src='"".$url.""'>""; ?>
要是上传的post请求是
test.Python?url=TTT'""<>TTT
则应用htmlunit3D渲染的网页页面源代码是
<html语言> <head/> <body> <img src=""TTT"" rel=""external nofollow"" ""<=""""/> TTT'> " data-word='body' class="" >body> " data-word='html语言' class="use" >html语言>
发觉人们的payloadTTT'""<>TTT早已彻底乱掉了。因此人们必须合闭前边的img标识。再上传给出post请求。
test.Python?url='""/>TTT'""<>TTT
回到包
<img src="""" ""=""""/>
TTT'""<>TTT'>
发觉payload中的<>被转义了。要是人们往<>填写某些空格符尼?
test.Python?url='""/>TTT'""<xxx>TTT
回到包
<img src="""" ""=""""/> TTT'"" <xxx> TTT'> " data-word='xxx' class="use" >xxx>
能够发觉早已当做了<xxx>标识分析了,尽管<>没被转义,可是却不太好正则匹配
TTT'""
<xxx>
TTT'>
这結果是四行,正则表达式应用的是单行配对,几行配对得话,将会会配对到人们不愿配对到的物品。
那把TTT'""TTT放进<>,是不是作为标识分析。
test.Python?url='""/><TTT'""TTT>
回到包
<img src="""" ""=""""/> <ttt '""ttt=""""> '> " data-word='ttt' class="" >ttt>
如今'""<>都会每行了,能够应用给出正则表达式<ttt(.*?)'""ttt(.*?)>开展配对。
可是碰到过虑了
相关文章
- 3条评论
- 囤梦怎忘2022-05-30 11:16:56
- 39;>""; ?> 要是上传的post请求是test.Python?url=TTT'""<>TTT 则应用ht
- 竹祭树雾2022-05-30 18:04:32
- s-content xss检验dom xss检验0×08 html语言-content xss检验我觉得原本这一是最非常容易,可是上边提及htmlunit会全自动调整不正确的html语言英语的语法,也必须谈及
- 余安路弥2022-05-30 08:47:57
- ;能够发觉早已当做了<xxx>标识分析了,尽管<>没被转义,可是却不太好正则匹配TTT'""<xxx>