因此,基本上,在我的PHPMYADMIN中,我在玩SQL注入,这样我最终可以成为一个笔试器。
SELECT *
FROM `ip` as ipstr
WHERE 'id' = $USERINPUT_HERE
ORDER BY
ipstr.id ASC
LIMIT 0 , 30我有困难,因为它说'ipstr‘不再定义时,我试图将它注入到我的phpmyadmin。
我知道,如果这是一个子查询,我将能够做到这一点。但是它不是子查询,所以我如何才能完成以下工作呢?
SELECT *
FROM `ip` as ipstr
WHERE 'id' = $USERINPUT_HERE
UNION ALL SELECT 1,2,3,4,5
ORDER BY
ipstr.id ASC
LIMIT 0 , 30我认识的人说这种注入是可能的,但我不可能在不重写整个查询和使用子查询的情况下解决这个问题。谢谢。
发布于 2013-08-28 00:20:24
让我们看看。如果字符串包含''; delete ip; select * from (select 1 as id) ipstr,那么代码可能会做一些您不希望做的事情。(老实说,整个语句可能会被拒绝,因为它是多个语句,但这是一个例子。)
SQL注入的解决方案是使用参数化查询。这是一个不难理解的概念。这是个好习惯。你应该养成这种习惯。
https://stackoverflow.com/questions/18477428
复制相似问题