Heim >Backend-Entwicklung >PHP-Tutorial >python - 代码是通过uc浏览器,对php网站的sql注入吗?

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

WBOY
WBOYOriginal
2016-06-06 20:44:411161Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn