差点忘了一点,在SQL注入的时分,PHP与ASP有所分歧,mysql对sql语句的应用没有mssql天真,因而,良多在mssql上可以用的查询语句在mysql数据库中都不克不及见效了. 普通咱们罕见的注入语句像如许:aaa.php?id=a' into outfile 'pass.txt或是aaa.php?id=a' into outfile 'pass.txt' /*再进一步可以改成:aaa.php?id=a' or 1=1 union select id,name,password form users into outfile 'c:/a.txt
如许可以将数据库数据导出为文件,然后可以检查.
或是如许:mode=',user_level='4
这个语句普通用在修正材料时,假定页面存在破绽的话,就能够到达提拔权限的做用.
其它的如' OR 1=1 -- 或:1' or 1='1则跟asp差不多.这里不多讲了.在php外面,SQL注入看来仍是破绽之首啊,有太多的页面存在这个成绩了.
起首,我团体以为最主要的一点是将magic_quotes_gpc高为ON,它的感化是将单引号,双引号,反斜线,和空字符转换为含有反斜线的字符,如select * from admin where username='$username' and password='$password'语句,进击者想用1' or 1='1跳过验证,然而,那些字符串将被转换成如许:select * from admin where username='a' and password='1\' or 1=\'1'从而到达禁止注入的目标,现实也就是主动停止了addslashes()操作.再不可的话,本人界说函数处置吧.如今看来,那些弄PHP注入的人也对照愁闷,由于myslq4以下版本不撑持子语句,而新版本的mysql又会将magic_quotes_gpc选项默许为开.