sql注入与挂马提权
以2022年4月9日实验举例,本次实验的网站属于靶机(在法律允许的范围内),510cms网站很好地模仿了国内目前主流网站的架构与安全防护措施。本次试验是通过信息收集、手动注入、渗透扫描、破解来共同组成,用来说明对于网络安全防护的重要性与现在很多网站脆弱的防护手段。对该网站进行渗透测试(地址http://180.76.226.182/),要求进行上传木马和提权,找到HOME目录中的隐藏flag,代表拿到了某公司的重要文件。
首先对网站的观察很重要,比如URL栏,可以尝试sql手注尝试,如有sql注入漏洞,URL栏输入 ?id=1,发现界面发生改变,说明存在注入点。

使用sqlmap扫描
使用sqlmap软件寻找注入点,sqlmap可以安装python版或是kali系统中自带的sqlmap(本实验在扫描上传木马URL时采用python版,在对网站提权时将使用kali-linux版sqlmap,特此说明)
使用sqlmap先对网站进行初步扫描,测试网站是否有waf或者是ips防护,并给出此url的基本信息。
当以上准备条件完成时,并没有报错warning或者false,表示网站防御等级足够进入下一步的操作(没有强力的waf或ips防护)下面可以初步扫描网站数据库

sqlmap扫描到库名
我们找到了网站有数据库名为510cms,以此确定下步的方案与目标,对510cms数据库进行爆破数据库的表名


爆破得到表名
经过sqlmap的爆破,我们得到了510cms数据库中的表名,随后我们把目标放到数据库的字段上,仍旧是使用sqlmap的爆破功能对数据库内的字段名进行暴力破解

3.4 爆破得到数据库内容


拿到字段内容
爆字段内容,就可以得到name与password,可以登陆后台


获取上传路径
使用--os-shell寻找上传路径,出现两个网址,打开之后发现有一个网站是可以上传的。


3.7 传马
打开含有上传页面的网址

上传木马,本次木马比较特殊,因为冰蝎对一句话木马的兼容性不好,所以采用md5加密的木马,经过md5解密后,key为rebeyond,命名为shell123.php文件。

新增shell,使用冰蝎连接,注意脚本类型为php格式(现在主流的网站会对php、jsp文件上传进行过滤,防止恶意上传木马文件,此种问题可以通过修改木马后缀为jpg、zip等,用来绕开网站过滤器。)本次实验主要是演示低级网站防护对网络、信息的毁灭性破坏,故不使用过滤器

在冰蝎连接成功后,可以查看到网站html文件夹中的shell123.php木马文件,凭借木马我们可以管理网站的文件,提权后可以实现对所有文件的增删改。

找到home文件,发现内容被隐藏,说明目前的权限不够访问home文件夹的内容,可以发现文件夹中看不见内容,但是有4096单位的内容,所以我们进行下一步提权操作。

3.8 连接navicat数据库
首先我们需要找到网站数据库的账号密码,一般在数据库的config文件中,可以看见user和password和数据库名510cms

为了验证我们可以使用navicat连接数据库

3.9 使用UDF提取
对于数据库提权,我们使用UDF提权方法,因为sqlmap自带UDF提权 而且我们已经知道了数据库用户名密码,并且数据库可以外联

对于此处选择要和我们database的架构一样(其实选择不一样也大概率可以成功) 此处我们选择64位

我们等sqlmap工作完成,在os-shell指令中使用whoami指令查看自己的身份变为 mysql

同时我们访问home目录发现可以看见其中的内容,在其中找到我们的最终目标文件flag.txt,使用cat /falg.txt指令打开此文本文件,由此实验结束,我们看见了flag的内容。


本次实验模仿了一名黑客盗取网站数据的手段和信息收集的技巧,以此flag文件代替一些重要数据,当然510cms网站安全防护等级比较低,但是从中可以看出,低安全性的防护形同虚设。比如一家公司的专利发明为这个falg文件,那么一家竞争企业就可以通过不法手段拿到此文件。所以通过此次实验,主要展现了对于现代网络安全的各方面问题。有几点防护措施供分享:
1:周期性进行awvs的扫描或者人工手动测试,可以在木马注入后尽快发现并对木马清除并溯源。
2:对网站插入过滤器,对一些常见木马进行过滤,防止木马植入。
3:高强度的数据库和网站后台密码,并尽可能的加密,制定时间周期进行更换。
4:搭建蜜罐,诱导黑客进入并溯源,有效阻止非法入侵。

浙公网安备 33010602011771号