- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
根据同事的建议,我正在使用 replaceAll
将单引号替换为 "\\\\'"
,但我很确定这不足以防止所有 SQL 注入(inject)。
我做了一些谷歌搜索,发现了这个:http://wiki.postgresql.org/wiki/8.1.4_et._al._Security_Release_Technical_Info
这对 PostgreSQL 进行了解释,但是替换是否不适用于所有 SQL 管理器? (例如,MySQL?)
另外,我想我理解我链接的解释如何适用于单个反斜杠,但它是否扩展到我使用四个反斜杠的情况?
请注意,我对数据库及其如何解析输入不太熟悉,但这是我了解更多信息的机会!任何见解将不胜感激。
编辑:我得到了一些非常有用的答案。我的下一个问题是,什么样的输入会破坏我的实现?也就是说,如果您给我输入,并且我在所有单引号前面加上四个反斜杠,您会给我什么样的输入来注入(inject) SQL 代码?虽然我确信我的方法是幼稚且错误的,但也许一些例子会更好地告诉我,针对我的“预防”注入(inject) SQL 是多么容易。
最佳答案
不,因为反斜杠怎么样?例如,如果您将 '
转换为 \'
那么输入 \'
将变为 \\'
这是未转义的单引号和“字 rune 字”反斜杠。对于 mysql,每个平台都应该存在 mysql_real_escape_string()
,因为它位于 MySQL 库绑定(bind)中。
但是还有一个问题。也就是说,如果数据段周围没有引号。在 PHP 中,这看起来像:$query="select * from user where id=".$_GET[id];
PoC 漏洞利用非常简单:http://localhost/vuln.php?id=sleep(10)
即使你执行mysql_real_escape_string($_GET[id])
,它仍然容易受到sqli的攻击,因为攻击者不必打破顺序引号执行sql。最好的解决方案是参数化查询。
关于security - 用反斜杠引号替换所有引号——这样就足够了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5174768/
对于我的问题,我找不到更好的措辞。 在我的应用程序中的某个时刻,我设置了一些非常密集的动画。问题是,在高端设备上,动画运行流畅且赏心悦目。另一方面,我测试过的一台低端设备在制作动画时表现非常糟糕。 试
我正在修补 OTP 模块 ( yubico_pam ),并尝试访问管理员选择的控制标志(例如必需,足够, ETC)。 有什么想法吗?这是否可行(无需解析文件)? 最佳答案 无法在 API 中查询此信息
我有一些为 Linux 编写的 C 代码,依赖于套接字和 arpa/inet.h 以及 libusb.h,我想在 MinGW 下为 Windows 编译它。 (请注意,当前项目只有一个非常简单的 Ma
我是一名优秀的程序员,十分优秀!