可能存在许多不同类型的攻击动机,但是乍看上去,似乎存在更多的类型。这是非常真实的-如果恶意用户发现了一个能够执行多个查询的办法的话。本文后面,大家会对此作详细讨论。
如
果你的脚本正在执行一个SELECT指令,那么,攻击者可以强迫显示一个表格中的每一行记录-通过把一个例如”1=1″这样的条件注入到WHERE子句中,如下所示(其中,注入部分以粗体显示):
SELECT*FROMsitesWHEREsite=’’OR1=1;’
正如大家在前面所讨论的,这本身可能是很有用的信息,因为它揭示了该表格的一般结构(这是一条普通的记录所不能实现的),以及潜在地显示包含机密信息的记录。
一条更新指令潜在地具有更直接的威胁。通过把其它属性放到SET子句中,一名攻击者可以修改当前被更新的记录中的任何字段,例如下面的例子(其中,注入部分以粗体显示):
UPDATEsitesSETsite=’’WHERE=
site=’’
通过把一个例如1=1这样的恒真条件添加到一条更新指令的WHERE子句中,这种修改范围可以扩展到每一条记录,例如下面的例子:
UPDATEsitesSETsite=’’WHERE=
site=’OR1=1;’
最危险的指令可能是DELETE-这是不难想像的。其注入技术与大家已经看到的相同-通过修改WHERE子句来扩展受影响的记录的范围,例如下面的例子:
DELETEFROMsitesSETsite=’’WHERE=
site=’OR1=1;
如果觉得《php如何防止sql注入攻击? xiugaiphp》对你有帮助,请点赞、收藏,并留下你的观点哦!