【20171027早】alert(1) to win 第9,10,11,12题
2021-05-03 15:27
标签:mos ntb tca gtd uml fbo tco idv jea 人在江湖,不服就干! 第9题: 分析: 对输入中的 & " ‘ 等符合进行了html编码转换,所以无法使用这些字符 TRY: 老黑也是通过看答案才知道的答案,输入 \x3csvg onload=alert(1) 会提示成功,但是我并没有在自己的html页面上重显弹窗,这个payload是用\x3c代替htmlEscape 1 function escape(s) {
2 function htmlEscape(s) {
3 return s.replace(/./g, function(x) {
4 return { ‘‘: ‘>‘, ‘&‘: ‘&‘, ‘"‘: ‘"‘, "‘": ‘'‘ }[x] || x;
5 });
6 }
7
8 function expandTemplate(template, args) {
9 return template.replace(
10 /{(\w+)}/g,
11 function(_, n) {
12 return htmlEscape(args[n]);
13 });
14 }
15
16 return expandTemplate(
17 " \n18
Hello, !
\n19 20 var v = document.getElementById(‘name‘); \n21 v.innerHTML = ‘{name}‘; \n22 \n23 ",
24 { name : s }
25 );
26 }
第10题:
题目:
1 function escape(s) { 2 s = JSON.stringify(s).replace(/); 3 4 return ‘‘; 5 }
分析:
过滤掉
第一次:
被过滤后,自然形成
第11题:
题目:
1 function escape(s) { 2 // Pass inn "callback#userdata" 3 var thing = s.split(/#/); 4 5 if (!/^[a-zA-Z\[\]‘]*$/.test(thing[0])) return ‘Invalid callback‘; 6 var obj = {‘userdata‘: thing[1] }; 7 var json = JSON.stringify(obj).replace(/\//g, ‘\\/‘); 8 return ""; 9 }
分析:
这题简单,用两个单引号令双引号失效,然后写入alert(1),在用
上一篇:wpf布局笔记
下一篇:c# 7.0 学习笔记
文章标题:【20171027早】alert(1) to win 第9,10,11,12题
文章链接:http://soscw.com/index.php/essay/81856.html