sql-server - 黑客可以欺骗或注入(inject)表单字段吗?

标签 sql-server forms security

我正在检查我的应用程序,试图尽可能地保护它,这让我开始思考。我总是验证我的用户的输入,我总是删除输入,所以例如,如果我有一个“生日”字段,我会确保它是一个有效的日期,然后再将它放入数据库。但我的数据库中也有字段,如“passwordresettoken”,如果用户请求,我的代码会生成此字段。

现在在我的普通用户配置文件页面上,我显然没有名为“passwordresettoken”的字段,所以我不验证或删除它,因为它不应该存在于将要传递的表单中。事实上,它不应该被传递,因为它不是用户输入的东西。

所以我的问题是,是否可以欺骗输入字段?他们能否编辑我页面上的 HTML 以包含 passwordresettoken 字段,然后在表单通过时造成一些破坏?

最佳答案

绝对是的。我什至不必查看您的 HTML。我可以直接使用 curl 提交。

http://curl.haxx.se/docs/httpscripting.html

这个 html

    <form method="POST" action="junk.cgi">
      <input type=text name="birthyear">
      <input type=submit name=press value=" OK ">
    </form>

相当于这个curl请求

curl --data "birthyear=1905&press=%20OK%20" http://www.example.com/junk.cgi

关于sql-server - 黑客可以欺骗或注入(inject)表单字段吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16025856/

相关文章:

forms - 使用 Gomail 创建联系表单

java - 如何清理 Java 生成代码的用户输入?

sql - 设置主键自增

sql-server - SQL 服务器和 XBRL

jquery - jQuery提交表单和刷新页面

javascript - 使用 PHP 通过电子邮件发送表单数据

security - 使用 nRF24L01 模块在 PIC 微 Controller 之间安全地传输命令

asp.net-membership - WebSecurity 和长 ID

sql - sql中对的分组

arrays - 用于 JSON 输出整数数组的 SQL Server 2016