webshell上传技术

中国菜刀连接一句话木马
1.上传一句话木马,记录木马地址:http://192.168.1.3:8080/up/images/lubr.php
2.菜刀连接
进入中国菜刀目录,点击chopper.exe
右键点击添加,在地址栏中添加上传文件路径,右侧添加密码lubr, 脚本类型为PHP
右键点击文件管理,查看目标服务器的完整目录,进行创建文件,修改文件,上传下载等操作
一句话木马
asp的一句话是:<%eval request("lubr")%>
php的一句话是:
绕过文件上传检查功能
绕过前台脚本检测扩展名上传webshell
客户端脚本检测扩展名:当用户在客户端选择文件点击上传时,客户端还没有向服务器发送任何消息,就对本地文件进行检测来判断是否是可以上传的类型(本地过滤)
一、开启代理,启动Burpsuite
1.打开火狐浏览器,点击工具-选项-高级-网络-设置,手动配置代理,ip地址设为127.0.0.1,端口号设为8081
2.打开burpsuite, 点击proxy下的options选项, 点击edit选择设置代理端口为8081
二、绕过验证
在burpsuite中开启抓包,将intercept it off切换为intercept is on状态
在火狐浏览器中输入目标文件上传地址,将木马文件1.php的后缀名.php改为.jpg, 点击上传
在burpsuite中会抓到拦截的数据包,点击raw,将数据包文件后缀名filename="1.jpg"改回filename="1.php",点击forward, 传递数据包
三、链接木马
在浏览器中输入木马的完整地址:http://目标地址/uploads/1.php
打开中国菜刀,右键添加木马的地址和密码,选择脚本类型,点击添加
绕过Content-Type检测文件类型上传webshell
白名单过滤:当浏览器在上传文件到服务器的时候,服务器会对上传文件的Content-Type类型进行检测,如果是白名单允许的,则可以正常上传,否则上传失败
一、开启代理,启动Burpsuite
1.打开火狐浏览器,点击工具-选项-高级-网络-设置,手动配置代理,ip地址设为127.0.0.1,端口号设为8081
2.打开burpsuite, 点击proxy下的options选项, 点击edit选择设置代理端口为8081
二、绕过验证
在burpsuite中开启抓包,将intercept it off切换为intercept is on状态
在火狐浏览器中输入目标文件上传地址,选择木马文件1.php, 文件后缀名为.php, 点击上传
在burpsuite中会抓到拦截的数据包,点击raw,将数据包文件的Content-Type由application/octet-stream改为image/gif,点击forward, 传递数据包
三、链接木马
在浏览器中输入木马的完整地址:http://目标地址/uploads/1.php
打开中国菜刀,右键添加木马的地址和密码,选择脚本类型,点击添加
绕过服务器端扩展名检测上传webshell
服务端过滤:当浏览器将文件提交到服务器端的时候,服务器端会根据设定的黑白名单对浏览器提交的文件扩展名进行检测,如果上传的文件扩展名不符合黑白名单的限制,则不予上传
一、绕过验证上传
在火狐浏览器中输入目标文件上传地址,将木马文件名lubr.php改为lubr.php.abc, 点击上传
二、链接木马
打开中国菜刀,右键添加木马的地址和密码,选择脚本类型,点击添加
实验原理:将木马文件名1.php改成1.php.abc,服务器验证扩展名的时候验证的是.abc。当浏览器端访问该文件时,Apache解析不了.abc扩展名,会向前寻找可解析的扩展名。(服务器解析漏洞)
黑白名单过滤缺点:限制的扩展名不够齐全,上传文件格式不可预测性导致可能会有漏网之鱼。另外,验证扩展名的方式存在问题:例如1.php%00.jpg,验证扩展名时拿到的扩展名为.jpg,写入的时候被%00截断,最终写入文件1.php
利用00截断上传webshell
利用00截断就是利用程序员在写程序时对文件的上传路径过滤不严格,产生0x00上传截断漏洞
一、开启代理,启动Burpsuite
1.打开火狐浏览器,点击工具-选项-高级-网络-设置,手动配置代理,ip地址设为127.0.0.1,端口号设为8081
2.打开burpsuite, 点击proxy下的options,点击edit选择设置代理端口为8081
二、绕过验证
在火狐浏览器地址中输入目标文件上传文件地址
将intercept it off切换成intercept it on,burpsuite开始抓包
将木马文件1.php的后缀名.php改为.php.jpg,点击上传
在burpsuite中会截获数据包,点击hex,找到1.php.jpg对应的十六进制源码,将1.php后.对应的2e改为00,点击forward,上传文件
三、链接木马
在浏览器中输入木马的完整地址:http://目标地址/images/1.php
打开中国菜刀,右键添加木马的地址和密码,选择脚本类型,点击添加
%00或0x00绕过了应用的上传文件类型(扩展名验证)的判断,但服务器端会因为0x00字符截断后面的内容,最终写入文件变成1.php。00截断的另一种方式:1.php%00.jpg
Apache漏洞上传webshell
apache解析漏洞上传webshell
将上传的木马文件后缀名.php改为.php.abc
利用apache的解析漏洞用菜刀连接扩展名为.abc的文件
填写木马密码和选择脚本类型,获得网站的一个webshell
通过apache日志获得webshell
测试文件包含,在URL中提交GET参数【?ajest=test.php】
向目标站点提交错误信息,Apache会将错误信息写入日志
通过本地文件包含漏洞,包含apache日志,即可获得一句话webshell
利用.htaccess文件攻击上传webshell
1.打开文件上传路径,上传,htaccess文件
2.将木马文件lubr.php后缀名改为.cimer,点击上传
3.记录木马文件的保存路径
4.打开中国菜刀,添加木马文件链接,密码和脚本类型
5.双击记录,即可看到管理网站目录
网页编辑器漏洞上传webshell
Fckeditor漏洞上传webshell
Fckeditor为在线网友编辑器,2.4.2以下版本存在一个直接上传任意文件的上传页面
将木马文件2.asp改为2.aps.jpg,上传文件
burpsuite拦截上传数据包,将数据包hex中的2e改为00
EWebEditor漏洞上传webshell
1.打开目标网站文件上传页面,上传木马文件1.cer
2.查看上传木马文件的路径,即打开网页源代码:
3.在地址栏中键入完整路径,即可访问木马文件,输入密码进入Webshell
构造PHP图片木马,绕过文件内容检测上传webshell
一般文件内容验证使用getimagesize()函数检测,会判断文件是否是一个有效的文件图片,如果是,则允许上传,否则不允许上传
一、上传PHP木马
1.在火狐浏览器中输入目标文件上传地址,将木马文件1.php后缀名.php改为.php.jpg上传。
2.会提示错误信息:此文件不允许上传,服务器对上传文件内容进行了检测。
二、制作图片木马
1.随便找一个图片,与所有上传的木马文件放置同一文件夹中。
2.打开cmd,进入木马文件夹
3.将lubr.php插入到pic.jpg中,输出PicLubr。jpg:copy pic.jpg/b+lubr.php/a PicLubr.jpg
三、上传木马
1.将上传文件名PicLubr.jpg给我PicLubr.jpg.php
2.在浏览器中输入木马的完整地址:http://目标地址/路径/uploads/PicLubr.jpg.php,访问木马文件。
四、链接木马
1.打开中国菜刀,右键点击添加木马的地址和木马lubr,选择脚本类型,点击添加。
2.双击添加的记录,即可查看目标网站的完整目录。
文件内容检测绕过另一种方式:文件头绕过

你可能感兴趣的:(webshell上传技术)