WEB开发网
开发学院WEB开发PHP 用SQL注入漏洞登录后台 阅读

用SQL注入漏洞登录后台

 2012-02-12 15:26:51 来源:WEB开发网   
核心提示:语义分析:“#”在mysql中是注释符,这样井号后面的内容将被mysql视为注释内容,用SQL注入漏洞登录后台(3),这样就不会去执行了,换句话说,我们的万能用户名’ or 1=1#就无法使用了,但这并不是说我们就毫无对策,以下的两句sql语句等价:select * from use

语义分析:“#”在mysql中是注释符,这样井号后面的内容将被mysql视为注释内容,这样就不会去执行了,换句话说,以下的两句sql语句等价:

select * from users where username='' or 1=1#' and password=md5('')

等价于

select * from users where username='' or 1=1

因为1=1永远是都是成立的,即where子句总是为真,将该sql进一步简化之后,等价于如下select语句:

select * from users

没错,该sql语句的作用是检索users表中的所有字段

小技巧:如果不知道’ or 1=1#中的单引号的作用,可以自己echo 下sql语句,就一目了然了。

看到了吧,一个经构造后的sql语句竟有如此可怕的破坏力,相信你看到这后,开始对sql注入有了一个理性的认识了吧~

没错,SQL注入就是这么容易。但是,要根据实际情况构造灵活的sql语句却不是那么容易的。有了基础之后,自己再去慢慢摸索吧。

有没有想过,如果经由后台登录窗口提交的数据都被管理员过滤掉特殊字符之后呢?这样的话,我们的万能用户名’ or 1=1#就无法使用了。但这并不是说我们就毫无对策,要知道用户和数据库打交道的途径不止这一条。

上一页  1 2 3 

Tags:SQL 注入 漏洞

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接