设为首页 收藏本站
查看: 1568|回复: 0

[经验分享] 从mysql注入到getshell-eth10

[复制链接]

尚未签到

发表于 2018-10-8 06:35:29 | 显示全部楼层 |阅读模式
  SQL注入就是一种通过操作输入(可以是表单,可以是get请求,也可以是POST请求等)相关SQL语句,并且能让该语句在数据库中得以执行,从而进行***的技术。最主要的原因就是没有对用户输入数据的合法性或者说是客户端提交的可变参数进行严格的检查和过滤,从而导致应用程序存在该漏洞。这篇文章主要是讲述通过一个mysql注入漏洞,通过os-shell执行echo命令获取webshell的***过程,大牛绕过,写这篇文章主要表扬自己开始有了自己的想法,可能该想法是其他人早就知道的!
  本来通过管理后台弱口令进入到系统中,发现上传点,但是各种绕过都无法成功上传***,不得已才想到通过SQL注入来写一句话到文件中,看来不愧是菜鸟,还需要各位路过的大神多多指教!
  0×00系统基本信息获取
  当我打开本次测试的站点时,使用Firefox的server-spy获取到基本信息,该网站使用的环境是Nginx 1.4.4,脚本类型时PHP 5.3.29,如图1所示。server-spy更多信息请关注其官方网站:https://github.com/100apps/ServerSpy。
DSC0000.png

  图1使用server-spy获取网站基本信息
  0×01获取操作系统类型
  通过改变目录中以及网站程序名称中的大小写,以及ping网站域名获取TTL值等,初步判断该系统是Unix(linux),如图2所示。
DSC0001.jpg

  图2获取操作系统类型
  知识点:
  (1)TTL是 Time To Live的缩写,该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。
  (2)TTL是IPv4包头的一个8 bit字段。TTL值的注册表位置:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters其中有个DefaultTTL的DWORD值,其数据就是默认的TTL值了,我们可以修改,但不能大于十进制的255,Windows系统设置后重启才生效。
  (3)TTL 是由发送主机设置的,以防止数据包不断在 IP 互联网络上永不终止地循环。转发 IP 数据包时,要求路由器至少将 TTL 减小 1,使用PING时涉及到的 ICMP 报文类型,一个为ICMP请求回显(ICMP Echo Request),一个为ICMP回显应答(ICMP Echo Reply),TTL 字段值可以帮助我们识别操作系统类型。
  (4)UNIX 及类 UNIX 操作系统 ICMP 回显应答的 TTL 字段值为255,Windows2003Server、Windows 2008Server的TTL默认值为64。
  Compaq Tru64 5.0ICMP 回显应答的 TTL 字段值为 64
  微软 Windows NT/2K操作系统 ICMP 回显应答的 TTL 字段值为128
  微软 Windows 95 操作系统 ICMP 回显应答的 TTL 字段值为32
  但有些情况下有所特殊:
  LINUX Kernel 2.2.x& 2.4.x ICMP 回显应答的 TTL 字段值为 64
  FreeBSD 4.1, 4.0,3.4;Sun Solaris 2.5.1, 2.6, 2.7, 2.8;OpenBSD 2.6, 2.7,NetBSD、
  HP UX 10.20,ICMP回显应答的 TTL 字段值为 255
  Windows 95/98/98SE/WindowsME,ICMP 回显应答的 TTL 字段值为 32
  Windows NT4 WRKS,WindowsNT4 Server,Windows 2000,ICMP 回显应答的 TTL 字段值为 128。
  0×02获取注入点
  因为站点是一个公司的官网,所以就使用工具简单扫描下情况,本次使用的扫描工具是safe3wvs,扫描发现有SQL注入,有xss,有后台管理,如图3所示,由于本次主要是讲述mysql注入,因此其他略过!
DSC0002.jpg

  图3发现SQL注入点
  0x03 sqlmap进行验证
  通过使用sqlmap注入工具进行扫描,得知该SQL注入漏洞是存在的,如图4所示,并且数据库是mysql > 5.0.11.
DSC0003.png

  图4sqlmap获取数据库信息
  0×04–os-shell系统命令执行
  本来只是试试的,没想到真的能执行—os-shell,如图5所示,人品爆发,操作系统是64位的,因为选32位不能执行命令!
DSC0004.jpg

  图5获取操作系统架构
  0×05获取相关信息
  通过执行whomai命令,可知当前用户是mysql,如图6所示,通过ifconfig可知,地址是内网地址,如图7所示。
DSC0005.png

  图6获取相关信息
DSC0006.jpg

  图7获取本机IP地址
  知识点:
  私有地址(Private address)属于非注册地址,专门为组织机构内部使用,俗称内网地址。
  以下列出留用的内部私有地址
  A类10.0.0.0--10.255.255.255
  B类172.16.0.0--172.31.255.255
  C类192.168.0.0--192.168.255.255
  0×06寻找可写目录
  首先通过页面可查看到部分目录,随便找一张与该官网相关的图片,查看属性可知网站中存在目录uploads,如图7所示。
DSC0007.png

  图8 获取目录信息
  另外通过os-shell,我们使用pwd查看到当前目录,然后通过ls从第一级目录逐级查看,当查看到uploads时,如图8所示,就有了一个思路,就是通过相关手段去上传***,因为目录可以知道了。
DSC0008.png

  图9 查看目录信息
  0×07写一句话***
  由于之前在linux加固的时候,使用echo来输入数据到文件中实现禁ping,于是就想到是不是可以通过该方法写入一句话到文件中呢?通过在uploads目录下多次尝试,可能是自己技术太菜了,花了不少时间,几乎是一个个echo输出看到成功了,才将内容写入文件中,在一个单引号的地方折腾了很久,用\’都没有用,一直失败,没想到直接不要单引号就成功,终于写入成功了!太兴奋了,嘿嘿!
DSC0009.jpg

DSC00010.png

  图10 写入webshell
  0×07菜刀连接
  通过使用菜刀,成功连接,但是用户是www,权限还没有mysql权限大,如图9,图10所示。
DSC00011.png

  图11 获取webshell
DSC00012.png

  图12 查看当前用户
  0×07相关命令不能使用解决
  在www用户下,如图11所示,不能使用ifconfig,此时我们可以通过去sbin目录下,直接执行该命令文件,如图12所示,就可以成功使用这些命令了(也可以直接执行命令/sbin/ifconfig)!
DSC00013.png

  图13 命令执行失败
DSC00014.jpg

  图14 查看IP地址
  0×07题外话
  通过菜刀连接成功后,我们可以上传大马,从而进行进一步的提权,关于如何提权,此处省略1000字。。。。。。
  0×07参考
  获取服务器相关信息,可以使用火狐的server-spy插件,可以获取网站的部署环境,IP地址,脚本类型等相关信息!
DSC00015.png

  获取操作系统类型,我们可以改变目录中的相关字母的大小写,原因是linux对大小写敏感,windows对大小写不敏感,其次是使用ping命令来获取操作系统类型,在一般情况下,windows XP/2003 对应的TTL值为128;linux对应的TTL值为64,Unix对应的TTL值是255,windows 7/10对应的TTL值为64,windows 95/98对应的TTL值为32。
  另外就是,获取网站的绝对路径,如果不能使用报错,而我们能使用pwd、ls两个命令,那么我们也基本能找出绝对路径来,当我们执行一些命令发现提示找不到命令时,我们可以在自己的虚拟机中locate一下该命令的路径,然后去到该路径中通过./来执行相关命令。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-615076-1-1.html 上篇帖子: centos7+php+nginx+mysql安装 下篇帖子: mysql必会知识
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表