use*_*679 0 javascript sql-server asp.net security database-security
考虑CSRF,XSS,SQL Injection等问题......
站点:ASP.net,SQL Server 2012
我正在阅读MS的一个旧页面:https://msdn.microsoft.com/en-us/library/ff649310.aspx#paght000004_step4
如果我有一个参数化查询,并且我的一个字段用于保存HTML,那么在某些标签上进行简单替换是否可以实现?
例如,用户可以键入WYSIWYG textarea,使某些事物变粗,或者创建项目符号等.
我希望能够显示SELECT查询的结果,所以即使我HTMLEncoded它,它也必须是HTMLDecoded.
那个在场景列表中循环的UDF怎么样?我很好奇处理那个页面上提到的看似偷偷摸摸的最好方法:
引用:
攻击者可以使用HTML属性(如src,lowsrc,style和href)与前面的标记一起注入跨站点脚本.例如,标记的src属性可以是注入源,如以下示例所示.
<img src="javascript:alert('hello');">
<img src="java
script:alert('hello');">
<img src="java
script:alert('hello');">
Run Code Online (Sandbox Code Playgroud)
攻击者还可以<style>通过更改MIME类型来使用标记注入脚本,如下所示.
<style TYPE="text/javascript">
alert('hello');
</style>
Run Code Online (Sandbox Code Playgroud)
最终有两个问题:
- 从INSERT语句本身处理此问题的最佳方法.
没有.那不是你应该去做的地方.
- 从代码隐藏处理这个问题的最佳方法.
使用白名单,而不是黑名单.HTML对所有内容进行编码,然后解码允许的特定标记.
能够指定一些可以安全使用的标签是合理的,但是能够捕获所有可能的漏洞是不合理的.
| 归档时间: |
|
| 查看次数: |
916 次 |
| 最近记录: |