|
|
1
11
如果你是
只是
替代
以下代码 证明 这个逃逸功能对所有人都是安全的,除了 三个条件 . 此代码会对控制图表的所有可能变体进行排列,并测试每个变体,以确保单引号封装的select语句不会出现错误。这段代码是在MySQL5.1.41上测试的。
脆弱条件1:未使用引号。
开拓:
脆弱条件2:使用双引号
开拓:
脆弱条件2:使用单引号,但是 alternative character set is used. .
开拓:
结论是总是使用
|
|
|
2
3
实际上,此外,您还可以使用union select尝试一些方法 PHP?产品=322 = & gt; PHP?productID=322 union从用户中选择1、2、3,其中1;。-- 显示其他表中的信息。 当然,您必须更改union select中的表名和数字,以匹配您拥有的列的数量。这是一种常用的提取数据的方法,如管理用户名和密码。 |
|
|
3
3
转义函数不处理多字节字符。检查 http://shiflett.org/blog/2006/jan/addslashes-versus-mysql-real-escape-string 看看如何利用这个转义函数。 祝你的数据库黑客活动愉快! |
|
|
4
1
在处理数字时如何?
变成
变成
(并非所有查询都用单引号和字符串生成) |
|
|
5
1
由于您使用的是UTF-8编码,这可能会受到过长的UTF-8序列的攻击。撇号字符(“)虽然通常编码为0x27,但可以编码为超长序列0xc0 0xa7(URL编码:%c0%a7)。转义函数会忽略这一点,但MySQL可能会以导致SQL注入的方式解释它。
正如其他人提到的,你真的需要
|
|
|
6
0
但是,我从未使用过PHP,您不能使用存储过程调用而不是直接的SQL语句吗?与尝试使用转义函数相比,它似乎是更好的SQL注入防御措施。 不过,转义函数对恶意的javascript很有用。 |
|
7
0
怎么样。。。
应该扩展到:
所以在下面的查询中使用它作为ID…
应导致:
|
|
|
Michael · 某些Windows客户端上的命名管道安全问题 2 年前 |
|
|
adamency · 是否可以从Go二进制文件的源代码中检索字符串? 2 年前 |
|
|
AlboSimo · PayPal Api密钥安全 2 年前 |