1. 您的位置:首页 > seo技术 >内容

[养站程序怎么样]Asp。网络优化:用于SQL注入和HTML注入的Black hat-SEO

黑帽搜索引擎优化主要是指采用"而不是道德"(暂时如此来描述它!)以搜索引擎优化的方式。

1. 注入攻击,包括SQL注入和HTML注入。我经常看到关于SQL注射预防的话题,但对于HTML注射,很多人都没有得到足够的关注。为了展示HTML注入的效果,我们模仿这个函数的一个共同消息。

首先,在页面声明中添加两个属性设置enableeventvalidation="false"validaterequest="false养站程序怎么样"至关重要,以便读者可以在此设置不起作用时尝试它。

<%@Page language="C#"autoeventwireup="true"codefile="Default.aspx.cs"继承="_default"Enableeventvalidation="false"validaterequest="false"%>

然后,前景页和背景代码片段如下:

</asp:文本框和gt;

onclick="btnsubmit_Click"/>
</asp:标签和gt;

protected void btnSubmit_Click(对象发送者,事件组e)
养站程序怎么样{
This.lblShow.Text= This.txtInput.Text;
}

程序非常简单,用户输入再次显示内容。运行代码,然后输入我们提交的恶意代码。

消毒!

我们会发现页面自动跳转到http://too.more.spam/page!这被称为"HTML注入"。将页面渲染给客户端后,浏览器将解析为正常的HTML页面,并在解析上述JS代码时…

深圳城市站群怎么样

为避免这种入侵asp.net,我们最简单的方法是"HTML encode"输入。将背景代码更改为:

受保护的空白btnSubmit_Click(对象发送者,事件组e)
{
This.lblShow.Text=这个。Server.HTMLEncode(This.txtInput.Text);
}

现在我们运行代码,发现源代码按页面显示且未运行。那么为什么呢?查看输出页面的源代码:

消毒!

完成后,我们发现以下映射转换:


>->(大于)
"-"(配额)

所以JS无法执行,但在页面显示中,我们可以看到"original"JS内容。

但问题还没有结束,在现实世界中,除了恶意代码之外的输入内容也可能具有以下内容:

<跨度样式="颜色:蓝色">Black Hat(dark Hat)SEO主要指采用"不太道德"<&span>(对于现在!)在搜索引擎优化的方式。

我们想显示蓝色文本,但编码后显然无法实现我们的结果。为此,我们还需要更精确地过滤。这就是为什么我们必须设置enableeventvalidation="false"validaterequest="false"真实原因。

实际上,我的第一个想法是首先对整个内容进行编码,然后替换我们允许使用的HTML标签。这是相当安全的,但在具体操作中遇到了很多问题,这令人沮丧(如果有人有这个实现代码,我们必须采取分享它)。

让我介绍另一种情况:

第一步是删除标签,例如<跨度样式="颜色:蓝色">,and<script,我们的替换范围仅限于tags<>

之间的内容

然后获取所有标签名称,属性的名称和值,并在有任何禁用内容时替换它们。恶意代码的可能形式如下:

标签名称:

属性中的标签:

财产价值:



本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。如若转载,请注明出处:http://www.botadmin.cn/sylc/5715.html