Heim >Backend-Entwicklung >PHP-Tutorial >python - 代码是通过uc浏览器,对php网站的sql注入吗?
代码请看:http://sebug.net/vuldb/ssvid-87115?from=timeline&isappinstalled=0
还有get_authcode算法不知怎么搞到的,求解答?
代码请看:http://sebug.net/vuldb/ssvid-87115?from=timeline&isappinstalled=0
还有get_authcode算法不知怎么搞到的,求解答?
首先要解释一下什么是注入(inject),因为动态网站多少会涉及到数据库操作,如果我有一个页面atricle.php 它需要获取一个参数id -> article.php?cat=recent
网站后台逻辑就是截取这个GET上来的cat,然后把这个id带入sql查询。
<code>$cat = $_GET['cat'] $sql = "select * from article where 'cat' = '$cat'" </code>
我们查询语句可能是这样的select * from article where 'cat' = 'recent'
正常用户访问的情况下是没有问题,那么要是别人对id这个参数动手脚,同时网站又没有做相关的限制(magic_quotes_gpc = off )
我们可以构造URL : article.php?cat=recent' union select * from user where 'username' = 'test
这个时候 网站GET到的cat就会变成recent' union select * from user'
sql语句就会变成
<code>select * from article where 'cat' = 'recent' union select * from user where 'username' = 'test' </code>
这样就会导致user表泄露
大概理解了原理之后Sebug说faq.php有注入漏洞,那么就是faq.php在处理接收数据的时候没有做处理。(防范SQL注入的方法有很多,常见的是特殊字符转义,即是把一些SQL关键字转义为空或者其他的)
然后文章说的UC_KEY不是指UC浏览器,而是UCenter旗下的软件(http://www.comsenz.com/products/ucenter/)。
恩,大概就是这样了,希望对题主有帮助。