本教程只限于靶机练习和自己业务环境测试,对外渗透都需要书面授权,仅限于研究。
献给想学渗透,但又不能亲自实践的同学,虽然网上资料很多,但大多数人看完后依旧不能自行操作。
一、环境搭建
实验工具:
攻击机(渗透机):Parrot Security / Kali Linux / win7
靶机:OWASP Broken Web Applications VM, Version 1.2
提权工具:AntSword(中国蚁剑)
下载演示:
步骤1:下载链接:https://code.google.com/archive/p/owaspbwa/(靶机下载)
步骤2:
步骤3:
步骤4:OWASP镜像下载完成后,用VMware直接打开即可
步骤5:启动环境,根据提示信息进行登录
步骤6:根据提示的账号密码进行登录显示
步骤7:靶机启动,根据提供的IP进行访问
步骤8:登录web:默认账户密码:admin
步骤9:OWASP Web登录后界面显示及一些需要关注的点:这个网站按照安全等级分为:low、medium、high,
可以说这个web有三套源码(请自行查看各个主题)
步骤10:根据步骤6的提示,该网站还实现了一个库,其地址为:http://192.168.200.152/phpmyadmin/(每个IP都不同,具体看自己机器)
步骤11:登录账号:root,密码:owaspbwa(请自行查看相应的功能)
至此,环境搭建已完成。
二、实战之文件上传漏洞(low--低安全级别)
文件上传漏洞原理:(具体详情参考Google)
注意:在客户端是永远看不到后端的东西,也就是F12功能
文件上传行为是正常的,但是对上传的文件不做任何格式检测所导致的情况,可能就会存在问题,这就是文件上传漏洞形成致因
在低安全级别是没有任何文件的后缀限制,可通过一句话木马获得 web shell
首先,编写一句话木马,其内容为:
将步骤1中的一句话木马文件在web中进行上传
地址替换
替换后的地址如下图所示:
经替换后的地址访问为空白,没有任何信息显示
连接密码为一句话木马中提前写入的 chopper
地址和连接密码输入后,点击左上角的添加即可;添加成功弹出提示
然后选中刚才添加的地址,右键选择文件管理
一句话木马文件上传后,通过文件管理得到上传目录
进而可以拿到整个服务器的目录结构文件,获取权限成功!
// low-低安全级别代码:对上传的文件未加任何的限制,导致我们的一句话木马上传成功,从而拿到权限
三、实战之文件上传漏洞(medium--中安全级别)
首先,将安全级别更改为 medium
接着,继续按照低安全级别的套路将 一句话木马文件 进行上传,发现出现了提示:Your image was not upload,可以知道
在medium级别,之所以上传失败是因为对上传的文件类型做了限制
// 之所以不能上传 一句话木马是因为,在后端代码中做了限制,从代码中可以得知,
// 只支持 image/jpeg格式(类型)并且对上传文件的大小也做了限制
注意:这里需要大家自行补充 http 和 MIME对应类型的了解,以及响应头中 content-type 类型文件格式的理解
参考链接(https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/MIME_types)
如果坚持通过上传一句话木马文件进行权限的提取是不是就没有办法了呢?答案是:有办法滴 。。
在这里,需要借助 BurpSuit 工具
原理阐述:
这里以火狐浏览器进行演示:
启动 BurpSuit 软件,并修改浏览器的代理与BurpSuit默认代理IP和端口一致即可
然后,将BurpSuit中的拦截功能开启即可:Intercept is on,
当拦截开启后,访问图中所示的入口,其左上角的状态处于一直转圈的状态,无法进行访问(若出现着这种效果,即设置成功)
BurpSuit拦截信息分析:
接着,修改其Content-type类型源码中所要求的即可,即 image/jpeg
修改完成后,点击转发
转发后,一句话木马文件上传成功
后续的操作和之前一样,借助菜刀或者AntSword进行提权即可,至此中级安全级别实验完成!
四、实战之文件上传漏洞(high--高安全级别)
首先,还是需要先把网站的安全级别更改为 high
经测试,不管通过低级安全还是高安全级别的方法都无法将文件上传成功,得到的提示都是:Your image was not uploaded.
// 经查看源码,对上传文件的后缀做了限制,比前面的两个等级限制更加明确
为了继续拿到权限,这里制作 一句话图片木马 进行实验,操作步骤都一样,只需将一句话木马隐藏写入图片中即可
一句话图片木马制作:
继续通过BurpSuit的拦截功能,查看上传 一句话图片木马的 属性
访问上传成功后的URL,显示图片;目前为止图片上传成功,但木马还没有生成
所有静态资源,服务器都不会执行,需要渲染
一句话图片木马需要高安全级别上传图片,还涉及文件包含漏洞
文件上传目录:
/var/www/dvwa/hackable/uploads // 上传文件目录 dzq.jpg
文件包含目录:
/var/www/dvwa/vulnerabilities/fi // 文件包含访问目录 shell20.php(参考图片木马制作脚本)
执行文件,生成后门,将上传一句话木马图片路径复制
将复制路径放在文件包含所在URL参数中(这个时候安全等级为low)
当访问后,出现大量的乱码,即执行成功,会在文件包含目录下生成后门
接下来,使用AntSwort进行连接,需要注意这里的地址为:http://192.168.200.152/dvwa/vulnerabilities/fi/shell20.php
后续操作,同上;
另一种文件包含远程漏洞利用方法:
只需要在web网站中提前将一句话木马写入txt文件中,通过文件包含地址参数的访问达到生成的目的(自行测试)
四、知识点
webshell
小马:一句话木马也称为小马,即整个shell代码量只有一行,一般是系统执行函数
大马:代码量和功能比小马多,一般会进行二次编码加密,防止被安全防火墙/入侵系统检测到
一句话图片木马方法总结
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!