SELECT userid FROM CMSUsers WHERE user 'foo'AND password ='bar 这段代码的问题在于应用开发人员相信执行脚本时返回的记录数始终是0或1,在前面的 SQL注入示例中,我们使用了可利用的漏洞来修改SQL查询的含义以使其始终返回真。如果 对CMS应用使用相同的技术,那么将导致程序逻辑失败向下面的URL添加字符串ORI'=1, 这次,由PHP脚本构造并执行的SQL语句将返回CMSUsers表中所有用户的userid,新的URL 如下所示: http://www.victim.com/cms/login.php?usemame=foo&password=bar 'OR1'='1 chenkm@ustc.edu.cn 0551- 2022/11/8 3602824 16
16 chenkm@ustc.edu.cn 0551 - 2022/11/8 3602824
我们通时修查询逻辑,返回了所有的d,添血的语句导致查询中的OR操作符水远 返回真即1远等于少从万出现了这样的结果,下面醍是构糙并执行的查询向 SELECT userid FROM CMSUsers WHER userAND password=password'OR11 chenkm@ustc.edu.cn 0551- 2022/11/8 3602824 17
17 chenkm@ustc.edu.cn 0551 - 2022/11/8 3602824