首頁 >後端開發 >php教程 >python - 代码是通过uc浏览器,对php网站的sql注入吗?

python - 代码是通过uc浏览器,对php网站的sql注入吗?

WBOY
WBOY原創
2016-06-06 20:44:411176瀏覽

代码请看: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/)。
恩,大概就是这样了,希望对题主有帮助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn