【问题标题】:sql injection for educational purposes用于教育目的的sql注入
【发布时间】:2015-01-28 03:30:39
【问题描述】:

我正在尝试利用在 VM 内运行的示例网站中的一些 Web 漏洞(它在 Web 上不可用 - 仅用于教育目的)。我有一个搜索条件字段,我写“全部”来显示所有产品,或者写一个特定的产品。

我尝试在字段中注入代码以进行搜索,但不起作用。

我测试过:

' or 'UPDATE' 'products' 'SET' 'price'='0' 'where' 'price'='1000'--'
' or 'UPDATE products SET price=0 where price=1000'--';
all' or DROP TABLE products #
(...)

但通常会返回一条消息:

SQL 错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“按价格订购”附近使用正确的语法

SQL 语句:SELECT pcode,price,description FROM products WHERE description like '%' or 'UPDATE products SET price=0 where price=1000'%' ORDER BY PRICE

【问题讨论】:

  • 请参阅en.wikipedia.org/wiki/SQL_injection,了解如何利用此类漏洞的一些示例。请注意,SQL 适配器需要支持 multi-statement(例如,这些在 mysqli 中默认禁用)请求以搭载单独的 DML 语句。
  • 这个问题似乎离题了,因为它与编程无关。对于与安全相关的问题,请使用 security.stackexchange.com。

标签: sql database web-applications


【解决方案1】:

即使我不确定我是否应该在这里给出关于 sql 注入的提示, 在您的陈述中,最后一部分是 ' 。

1000'%' 按价格订购

【讨论】:

  • 这是注入 SQL 后的返回:我试过:' or UPDATE products SET price = 0 where price==1000 but return this
猜你喜欢
  • 1970-01-01
  • 2020-12-06
  • 1970-01-01
  • 2012-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-21
相关资源
最近更新 更多