从发现SQL注入到ssh连接

前言:

某天,同事扔了一个教育站点过来,里面的url看起来像有SQL注入。正好最近手痒痒,就直接开始。

一、发现时间盲注和源码

后面发现他发的url是不存在SQL注入的,但是我在其他地方发现了SQL盲注。然后改站点本身也可以下载试用源代码,和该站点是同一套系统:

从发现SQL注入到ssh连接_第1张图片

一开始的思路是直接用时间盲注写马,然后遇到的问题就是如何获取站点的绝对路径。通过sqlmap自带的字典去爆破,发现都失效了。(但是其实只是没写成功,不代表路径是不对。)那么接下来的思路就在源码上了。从源码里面没有找到啥可以直接未授权getshell的点。后面在本地搭建这套系统时,发现了其配置信息都在网站目录下的configure.php,后面就是尝试使用sqlmap读取文件。通过猜测,发现了站点的路径为/var/www/html/{站点域名}下面。然后再回头尝试写马,还是失败。但是可以读取文件。然后写了个脚本去跑,成功获取数据库账号密码:

从发现SQL注入到ssh连接_第2张图片

Nmap一试,3306开放,心中窃喜。使用mysql连接的时候,发现root登录被做了限制,只能使用localhost进行登录。然后也通过sqlmap获取到其他账号,有的可以登录,但是都因为权限小,无法写马。

从发现SQL注入到ssh连接_第3张图片

二、惊现上传漏洞

写马失败后,想着查询下数据库里面的管理员密码,登录后台看看有没有可利用的点。后面又回过头来看源码了。一边放着dump数据,一边又发现了新东西,这站点存在ckfinder和ckeditor编辑器,但是一个无法访问,一个无法上传木马。

从发现SQL注入到ssh连接_第4张图片

就在我想破脑袋也没想到还有啥办法之时,我同事那边来了个好消息。他从旁站获取到了测试账号密码:

从发现SQL注入到ssh连接_第5张图片

然后他在个人资料处发现了一些功能点,发现了一堆xss和csrf、会话固定后,最后测了一下上传点

从发现SQL注入到ssh连接_第6张图片

这个上传点如果你直接上传php是可以上传成功的,但是路径找不到。很奇怪。

不过如果你先上传一个jpg文件,就会发现图片路径为upload/fileimages/ew00000000040/user_photoa009.jpg

然后再通过bp修改文件扩展名为php,重新上传,就可以成功在前端看到php的路径:

从发现SQL注入到ssh连接_第7张图片

通过抓包分析,我们发现他存在一个http_user字段可控,并且只在前端校验文件类型得到重命名组合为user_photohttp_user

从发现SQL注入到ssh连接_第8张图片

从发现SQL注入到ssh连接_第9张图片

直接写入phpinfo(),发现解析了,上蚁剑:

从发现SQL注入到ssh连接_第10张图片

成功getshell。

三、脏牛提权

虽然成功获取权限,但是这权限很低,有执行权限,但是很多操作都被限制。前面有获取数据库账号密码,在获取webshell后,可直接连接mysql数据库:

从发现SQL注入到ssh连接_第11张图片

这时候可以考虑udf提权,但是尝试发现没有/usr/lib64/mysql/plugin/路径的上传权限。那么久只能通过常规的提权了。使用工具linux-
exploit-suggester。

从发现SQL注入到ssh连接_第12张图片

发现很多种方式可以提权,但是我用kali编译完的程序上传到目标机上,发现运行不了。后面直接在目标机编译,也出现确实一些库文件,好像因为目标机版本太低了。后面参考了这篇文章,成功进行提权。

四、SSH连接

这个提权会删除root用户,新建一个用户firefart。本来还在考虑使用内网穿透把22端口代理出来,然后直接ssh连接。但是渗透步骤不规范就会导致我这样的结果:他的ssh并不是22端口,而是999端口。我信息收集的时候没有发现到位。当时一开始看没有22端口,所以才顺势觉得要穿透进去。但是其实人家999端口就是ssh。接下来就是成功使用ssh连接。

从发现SQL注入到ssh连接_第13张图片

但是有个问题又出现了:如果我想连接ssh,那么久只能使用这个账户登录,因为我不知道root密码。但是这样的话,人家登录不了root就会发现异常。但是如果我把root恢复了,我就没有root权限了。

诶,后面我在想,如果我把原始的passwd文件恢复,然后不断开ssh连接是不是我还能有权限操作呢?说干就干,使用firefart执行mv /tmp/passwd.bak /etc/passwd恢复原本的账户。然后ssh不断开,我发现我还是root权限。这就好办了。useradd新建账号edu,然后把新建的账户加入管理员组。

使用新账号edu进行登录,发现为root权限,成功!

从发现SQL注入到ssh连接_第14张图片

这时候才把原本firefart账号的窗口关闭。重新再使用firefart账户登录,发现已经无法登录了。看来这应该是系统的一种机制吧,哈哈哈。

结尾

这次渗透其实走了很多弯路,到最后都没用上数据库。很多时候一个点打不进去的时候,适当的放弃,去打新的点,不要太头铁,特别是攻防的时候。

总结一下:发现盲注,源码到跑取站点账号密码(时间盲注效率低到我现在还没跑出后台管理账户密码),无果。到从旁站上传木马,获取网站服务器权限,权限较低,使用脏牛提权,到后面的恢复原本的账户,并新建一个管理员。其实这个站点是还有内网在,貌似是教育局办公内网,但目前还在尝试,后续会随缘更新。

木马,获取网站服务器权限,权限较低,使用脏牛提权,到后面的恢复原本的账户,并新建一个管理员。其实这个站点是还有内网在,貌似是教育局办公内网,但目前还在尝试,后续会随缘更新。

最后

分享一个快速学习【网络安全】的方法,「也许是」最全面的学习方法:
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

在这里插入图片描述

恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k。

到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?

想要入坑黑客&网络安全的朋友,给大家准备了一份:282G全网最全的网络安全资料包免费领取!
扫下方二维码,免费领取

有了这些基础,如果你要深入学习,可以参考下方这个超详细学习路线图,按照这个路线学习,完全够支撑你成为一名优秀的中高级网络安全工程师:

高清学习路线图或XMIND文件(点击下载原文件)

还有一些学习中收集的视频、文档资源,有需要的可以自取:
每个成长路线对应板块的配套视频:


当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

因篇幅有限,仅展示部分资料,需要的可以【扫下方二维码免费领取】

你可能感兴趣的:(学习,开发语言,数据库,java)