1558人加入学习
(3人评价)
Web安全基础
价格 ¥ 99.00
该课程属于 CISP-PTE预习课程 请加入后再学习

任意文件与路径遍历

提交文件目录地址酒吧目录的文件列表发给用户,造成目录遍历安全

关键字:

file_name=一个存在目录

就会返回目录下的文件

攻击:

避开“是否存在任何路径遍历序列”

不同的编码(url/unicode/双倍url)

使用斜线和反斜线的路径遍历序列

一个序列替换另一个序列“.../\”“...//”

 

包含应用需要的后缀(文件类型)或前缀(起始目录)

../../boot.ini%00.jpg 文件类型的00截断

指定的起始目录 filestore/../../etc/passwd

防御:

设置中间件,禁止目录遍历

对用户提交的文件名进行解码与规范,空字节

查看访问文件是否在指定目录中

阿里云的防御:

下载的文件地址保存到数据库中

用户提交对应的ID下载

下载前做权限判断

文件放在web无法直接访问的目录下

记录日志

 

文件上传漏洞

上传shell并且解析

绕过方式:

前端的js绕过

MIME类型检测

服务端目录检测 截断

文件类型检测 大小写 黑名单 特殊文件名 .htaccess攻击 解析漏洞

文件内容检测 幻数

解析攻击

防御:

上传文件目录是无法直接访问到的,不可解析脚本语言的目录

利用白名单来检查文件类型

随机重命名,不可带入任何可控参数

图片二次渲染

最新的webserver版本

 

文件包含漏洞

在PHP中常见

include(),include_once(),require(),require_once(),fopen()等函数

我先上传一个txt文件的php木马

然后用文件包含漏洞去包含这个txt

就会被php解析

防御:

白名单来检查文件类型

 

安全存储与传输

get提交密码 -》post提交

敏感信息加密传输或使用htps

敏感信息模糊化处理(张**,135****5555)

敏感文件加密处理

 

压缩目录与备份文件下载

zip.bak等文件直接下载,代码泄露

 

错误提示造成信息泄露

造成web的根路径泄露,数据库等信息泄露

防御:

给出统一的错误界面

 

框架漏洞

Struts2 任意命令执行漏洞   打补丁

spring表达式注入     关闭语言表达式功能,对特殊字符过滤

thinkphp代码执行      打补丁

 

webserver安全

禁止使用默认密码和弱密码

删除不必要的控制台与exp等路径

设置开关,禁止目录遍历

get与post

打补丁,升级版本

第三方编辑器:

越权,直接数入网址即可上传

FCK未授权访问与上传漏洞

 

安全错误配置

语言表达式关闭

开发模式关闭

中间件目录遍历关闭

版本更新

 

安全辅助  输入处理

校验字符编码

转换字符编码

输入校验  :

校验类型与校验对象:

校验控制字符

应用规格校验

校验字符数(SQL注入语句限制长度)

所有的参数都需要校验

 

二进制安全和空字节攻击

二进制:输入的字符原封不动的进行处理

空字节:%00截断

?p=123%)0<script></script>

 

软件安全开发--SDL

设计/开发/测试/部署

传输加密

参数绑定

 

Web安全开发总结

问题:

用户可以提交任意输入

防御:

处理用户的应用程序的数据和功能,防止非授权访问

信息泄露,爆路径

敏感信息要模糊化

记录攻击时间

能使用白名单就不要黑名单

数据和代码分离原则

木桶原则

 

代码执行--任意代码漏洞

命令执行--任意命令漏洞

文件操作--文件读写漏洞

数据库操作--SQL注入

数据显示--XSS

上传--上传漏洞

后台或API--安全认证绕过

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[展开全文]