开发者学堂课程【网络安全攻防 - Web渗透测试: 文件上传漏洞及防_3】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/630/detail/9899
文件上传漏洞及防_3
内容介绍:
一、高安全级别
二、认识木马程序
一、高安全级别
1、方法:
将上传的文件删除,再设置为高安级别,先找到 upload,再找到源码查看,会发现高安全级别限制的是文件的扩展名,使文件的后缀必须是 jpg 或者是大写的 jpg。
2、缺点:
如果用这种方法来限制图像,会造成使用不便,会有许多种的图片无法上传。
3、优点:
尽管这种方法,限制过多,但仍非常好用。
4、再次演示:
现在状态(代理工程是打开的,拦截是关闭的)。浏览一个图片,然后再浏览到 shell1,再 upload 是不可以的。
进行调整:
将代理工程开启,再次选择 shell1,点击 upload,然后等待,接着来到另一边。若无响应,可通过钩住并摇晃鼠标来使其响应。另外它的类型即使更改也不会有任何作用,因为此法限制的不是文件的类型,而是文件的后缀,所以若后缀并非 jpg 或 JPG,一定完成不了。
5、更改的演示(加 jpg):
进行更改,但仍不可正常使用,如图。
如图,演示后显示无此图片。但正常情况下此图片,应该存在,然后进行回推,查找错误。
首先复制链接,在 caidao 进行尝试,新建一个 shell,密码依旧是 chopper,被要求选择脚本类型,如下图。选择脚本类型 PHP,进行添加,然后进行如下选择
后,发现是复制出错,接着再次进行回推,发现在复制时少了’..‘,导致出错。
再次进行操作,复制链接,新建shell,选择PHP的脚本类型,为防止不建议申许,将第二个文件删除,
再进行如下操作
能看到网站的结构,但还不能进行一些操作。如尝试下载一个文件,但无法下载。
然后找到 backable 的 uploads,尝试进行删除,但仍无法删掉。
所以由此得出,通过更改文件的后缀这种方法,是行不通的。
6、回顾:
在第一安全级别,未作任何限制;在中安全级别,对文件类型进行了一定的限制;在高安全级别,限制文件的后缀。
二、认识木马程序
1、常见木马程序:
大马(代码量和功能比小马多,一般会进行二次编码机密,防止被安全防火墙或入侵系统检测到)、小马(一句话,木马也叫小马,即整个 shell 代码量只有一行,一般是系数执行汉书)。
2、木马一般调用一些函数,如图,若使用 eval 则只能调用自身一些函数;若使用 system 则调用 Linux。进行试验,由于没有一个叫 shell2的文件,那便新建一个文件,在改变一个格式,进行保存。
由于是在高安全级别,因而不可上传,为了演示,将拦截功能关闭,改为低或中安全级别,点击浏览,进行 upload,显示成功。随后复制路径,验证文件是否存在。
加参数进行执行,如图(添加函数为了打印 php 信息,php 有很多函数。但为了执行,此处必须与方括号对应)
3、如果将 eval 换成 system,其他均不变。
先复制一份 shell2,将其命名为 shell3,再将内容稍作更改后将 shell3传上去,浏览,然后选择 upload,出现如下反应
由于在此之前使用的是 system,回车返回一下,查看路径是否正确,结果发现不通,可以认定它是个命令,
先找到它的 id,如图
4、作为此机器 www-data 是个普通用户,拿到的是 webshell,拿到的是 www-data 用户的权限,若需其他权限则需要提权。
如想在 tmp 下建立一个 file1的文件,如图
发现设置的命令,只要有权限,便可以执行。但这种执行方法较中国菜刀相比没有那么便利,此方法需要在搜索栏逐字输入,比较麻烦。所以里面的请求方法尽量用 post,这个方法较前面的方法更加便利。
5、利用 post 再次进行演示,新建一个 shell5,选择记事本的打开方式,记事本之中的不再是 request 而是 post,然后传上去,浏览,选择 shell5,点击 upload。
随后复制链接,在中国菜刀使用,选择 caidao,随后输入密码,再检验是否成功,选择 dvwa,然后选择 backable,随后点击 uploads,尝试是否可以删除文件,发现可以正常删除文件,证明成功