【发布时间】:2013-11-02 19:14:42
【问题描述】:
如果通过 base 64 编码的查询字符串参数传递 javascript 代码,我需要丢弃它。我想剥离参数中的所有 javascript 并保留字符串的其余部分。实现这一目标的最佳方法是什么。
输入:
www.xyz.com/pages/Load.aspx?new_url=/test.net/public/pages/SApps.aspx%3Flist%3DL&enc=true&title=Ij4gPHNjcmlwdD5hbGVydCgiaGVsbG8gZnJvbSBRQy4iKT wvc2NyaXB0PiA8aGVhZGVyOmNvbnRhaW50ZXig
我在 C# 中使用以下代码取消编码时的标题参数
byte[] dataByte = Convert.FromBase64String(title);
title= Encoding.UTF8.GetString(dataByte);
将导致 "><script>alert("hello from QC.")</script> <header:containter 这是一个跨脚本问题。我想在这里去掉所有的 Javascript ..
【问题讨论】:
-
我想从查询字符串中删除脚本元素。
-
向我们展示如何从查询字符串中获取值,并举例说明“错误”输入会是什么(然后会变成什么)。
-
那么为什么有base64编码的javascript很重要?即使您直接将其写入浏览器,它也不会做任何事情。
-
但这只会在您取消编码值时引起问题。向我们展示您在哪里执行此操作,以及您希望输出是什么。