File Inclusion(remote)
将filename后面的路径改成远端的路径
Unsafe Filedownload
文件下载功能在很多web系统上都会出现,一般我们当点击下载链接,便会向后台发送一个下载请求,一般这个请求会包含一个需要下载的文件名称,后台在收到请求后 会开始执行下载代码,将该文件名对应的文件response给浏览器,从而完成下载。 如果后台在收到请求的文件名后,将其直接拼进下载文件的路径中而不对其进行安全判断的话,则可能会引发不安全的文件下载漏洞。
此时如果 攻击者提交的不是一个程序预期的的文件名,而是一个精心构造的路径(比如../../../etc/passwd),则很有可能会直接将该指定的文件下载下来。 从而导致后台敏感信息(密码文件、源代码等)被下载。
所以,在设计文件下载功能时,如果下载的目标文件是由前端传进来的,则一定要对传进来的文件进行安全考虑。
修改文件名,可以下载其他文件
Unsafe Fileupload
client check
可以看出是通过前端的js做的限制
删除
上传php文件,成功
可以被执行
MIME type
上传一个PHP文件,抓包
修改content-type为image/png
显示文件上传成功
getimagesize
getimagesize()返回结果中有文件大小和文件类型,如果用这个函数来获取类型,从而判断是否是图片的话,会存在问题
制作一个图片马
此图片后有一段恶意代码
上传成功
可以利用文件包含漏洞访问
Over Permission
水平越权
将lucy改为lili
垂直越权
提示:有一个超级用户,一个普通用户
登录超级管理员账号,可以查看用户列表,可以添加用户
登录普通用户,只有查看权限
登录超级管理员账号,添加用户,burp抓包,发送到repeater
放掉数据包,admin账户退出登录
以普通用户身份登录,复制普通用户的cookie
粘贴到repeater中添加用户的数据包中,使用普通用户的身份添加用户,发送
刷新页面,发现了增加的用户内容
原因是后台没有判断发送这个数据包的用户权限