大家好,今天给大家做一个绕过本地验证拿shell的教程,
昨天晚上一朋友给我个后台说“ 有上传但不知道怎拿后门 ”
我想在这里做出这个教程,演示要更多不知道遇到这情况怎么拿后门,
好教程开始,我们看看 后台 大致找下可用信息 知道有上传图片地方
唉 这个后台 上传页面 怎么跟后台是分离的,我们上传ASP试试
果然不允许 但是大家注意到没 它非常迅速就弹出类型不对,
我们上传个图片 这里建议打开上传时候顺便打开抓包工具 (我习惯)
上传OK了 看看能不能利用抓包信息上传
我用 DAMIN上传下看看
<font face="宋体" size=2>
<p>Server.MapPath()</font> <font face="宋体" size=2 > 错误 'ASP 0171 : 80004005'</font>
<p>
<font face="宋体" size=2>缺少路径</font>
<p>
<font face="宋体" size=2>/admin/fupaction.asp</font><font face="宋体" size=2>,行145</font>
<p>
<font face="宋体" size=2>必须为 MapPath 方法指定路径参数。
</font>
失败 ,好 下面看我的, 刚才我说了 ,这个上传页面弹出提示信息很快
那么首先我会想到 “这个是一个本地验证的上传页面,”
我们看源码
s cript language="Javas cript">
<!--
//检查上传物件 checkFileUpload(表单名称,档案类型,是否需要上传,档案大小,图片最小宽度,图片最小高度,图片最大宽度,图片最大高度,储存宽度的表单名称,储存高度的表单名称)
function checkFileUpload(form,extensions,requireUpload,sizeLimit,minWidth,minHeight,maxWidth,maxHeight,saveWidth,saveHeight) {
document.MM_returnvalue = true;
if (extensions != '') var re = new RegExp("\.(" + extensions.replace(/,/gi,"|") + ")$","i");
for (var i = 0; i<form.elements.length; i++) {
field = form.elements[i];
if (field.type.toUpperCase() != 'FILE') continue;
if (field.value == '') {
if (requireUpload) {alert('请选取上传的档案!');document.MM
如此明显 ~ 那么思路很清晰了 ,去掉验证上传类型这段 直接上传ASP HOHO
把源码保存到自己本地 修改源码 首先去掉 验证代码 <stricpt></stricpt>之间一般
然后找下FORM表单
<form ACTION="fupaction.asp" METHOD="POST" name="form1" enctype="multipart/form-data
ACTION="fupaction.asp" 大家注意这个就是上传地址,这个需要修改,修改成什么呢,
刚才抓包也抓到上传地址了,就是 http://www.5918888.net/admin/fupaction.asp
我们修改下 好打开修改好的 htm 页面 直接上传ASP小马 上传没出现错误 证明
上传成功 ,那么访问地址是多少呢, 我们看 。
前面上传图片的 访问地址
http://www.5918888.net/upload/50.gif
我们的小马名字key.asp 那么地址 是不是 http://www.5918888.net/upload/key.asp 看看
OK,成功 , 好了~ shell 我昨天已经帮 朋友拿到了,是个虚拟主机,权限很变态
设置有点小实物 呵呵~ 有PC 正应验那句经典话
“管理员为了方便,也给我们留下方便”
呵呵 ~ 拜拜 BY古月亮 MYQQ 14648541
补充
刚FTP了一下这个shell发现
220-Microsoft FTP for WinSock ready
220 (欢迎您使用中国万网虚拟主机服务
放,专业下载等严重耗用服务器资源的程
User (218.244.152.23:(none)):
唉 ~ 可怜的万网 很早以前有动画名字叫“万网我已经进入2次了”
我初步看过,现在提权似乎不大可能咯 ~