有没有比这更简单的方法
foreach($_POST as $x=>$y){
$arr[$x] = $this->input->get_post($y, TRUE);
}
Run Code Online (Sandbox Code Playgroud)
用CI的XSS过滤器清理整个$ _POST数组.看看输入库似乎get_post()只接受一个单独的变量,而不是能够清理整个数组然后返回数组.
我有许多参数构成插入表单,例如:
x.Parameters.AddWithValue("@city", City.Text)
Run Code Online (Sandbox Code Playgroud)
我今天早上在网站上发生了一次失败的xss攻击,所以无论如何我都试图加强安全措施....
我应该像这样添加我的输入参数吗?
x.Parameters.AddWithValue("@city", HttpUtility.HtmlEncode(City.Text))
Run Code Online (Sandbox Code Playgroud)
还有什么我应该考虑避免攻击吗?
例如,如果我在表单中选择[URL值],将[URL值]保存在数据库中,然后在如下页面中使用它:
<a href="[URL value]" > The Link </a>
Run Code Online (Sandbox Code Playgroud)
如何防止此[URL值]:
http://www.somelink.com"> Evil text or can be empty </a> ALL THE EVIL HTML I WANT <a href="
Run Code Online (Sandbox Code Playgroud)
如何保护URL表单文件的这种HTML注入,而不会破坏URL,以防它有效?
我有一个人们可以添加他们的东西的表格.但是,在这种形式中,如果他们输入JavaScript而不是文本,他们可以轻松地注入他们想做的任何事情.为了防止它,我可以将escapeXml设置为true,但是普通的HTML也会被转义.
<td><c:out value="${item.textValue}" escapeXml="true" /></td>
Run Code Online (Sandbox Code Playgroud)
有没有其他方法来阻止JavaScript注入而不是将其设置为true?
我有一个带有textareas的PHP页面,用户可以更改,并且他们的值被保存并显示在另一个PHP页面上 - 我担心这可能容易受到XSS攻击(或者今天恶意黑客使用的任何东西)...我看到http ://htmlpurifier.org是避免XSS攻击的一个很好的解决方案,我在一个SO线程中读到,进入textarea的PHP代码被浏览器忽略而不是服务器端执行.我只是想知道htmlpurifier是否会完全保护我的网站,如果像IE6这样的老浏览器有可能不够智能忽略这样的PHP代码.这是我第一次制作一个复杂的网站,所以我会围绕安全主题提示......谢谢:)
另外,我使用了stripslashes和nl2br来避免使用撇号和换行符进行格式化问题,但是还有什么我应该使用它来避免意外的显示问题吗?
我正在使用asp.net 4.0的C#web表单.该网站需要安全,现在正在进行安全审计.我只是想知道需要做些什么来最好地防止XSS攻击到我的网站.
我知道有可用于网站输出的编码.我也从微软看过antixsslibrary.dll,但这似乎已经过时了.asp.net是否有内置的xss攻击预防?我认为它确实存在,因为我试图在我自己的网站上创建和xss攻击,我得到错误:
'/ GNB.DPS.MVAD.Presentation.Web'应用程序中的服务器错误.
从客户端检测到一个潜在危险的Request.Form值(ctl00 $ cphListBody $ tbXSS ="alert('XSS V ...").描述:请求验证检测到潜在危险的客户端输入值,并且请求的处理已经该值可能表示试图破坏应用程序的安全性,例如跨站点脚本攻击.要允许页面覆盖应用程序请求验证设置,请将httpRuntime配置部分中的requestValidationMode属性设置为requestValidationMode ="2.0 ".示例:.设置此值后,您可以通过在Page指令或配置部分中设置validateRequest ="false"来禁用请求验证.但是,强烈建议您的应用程序在这种情况下显式检查所有输入.有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=153133.
异常详细信息:System.Web.HttpRequestValidationException:从客户端检测到潜在危险的Request.Form值(ctl00 $ cphListBody $ tbXSS ="alert('XSS V ...").
我写了一个Filter下面是代码.
public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain)
throws IOException, ServletException {
HttpServletRequest srequest = (HttpServletRequest) request;
HttpServletResponse sresponse = (HttpServletResponse) response;
String url = srequest.getRequestURI();
if(url.contains("//What patterns to be checked here?"))
{
//Invalidate the Session
//Redirect to error page
}
Run Code Online (Sandbox Code Playgroud)
我正在阅读形成的网址,并希望避免XSS攻击.因此,我想在URL中检查可能表明它可能导致XSS攻击的任何模式.
我可以获得我可以在这里查看的所有模式的综合列表吗?例如,
url.contains("<script>");
Run Code Online (Sandbox Code Playgroud) 我想让我的网站安全抵御XSS攻击.
我有一个模块允许用户将文本(带有特殊字符)插入数据库.此文本显示在起始页面上.
现在我的问题:我应该htmlentities($_POST["userinput"], ENT_QUOTES, 'UTF-8')在将userinput插入数据库之前使用吗?
或者我可以将用户输入直接插入数据库并显示它htmlentities吗?
我有以下代码:
echo "<span title='{$_GET["t"]}'>Foo</span>";
Run Code Online (Sandbox Code Playgroud)
显然,这段代码不是XSS-Save,但是当我调用以下URL时,不会执行任何JavaScript:
url?t=Foo" onclick="alert(1)"url?t=<script>alert(1);</script>浏览器在这里做了一些神奇的工作吗?有没有攻击媒介?
xss ×10
php ×6
security ×6
asp.net ×2
html ×2
javascript ×2
c# ×1
codeigniter ×1
dns ×1
html-encode ×1
jsf ×1
jsf-1.2 ×1
jsp ×1
jstl ×1
parameters ×1
textarea ×1
url ×1
webforms ×1