web 中的cookie

web同源策略

cookie安全

cookie用于保持http协议会话状态或缓存信息
由浏览器或服务器写入
存在于请求头或响应头,JS读取

cookie泄露

http session 没有加密,中间人可以抓到cookie
同源策略(SOP)
web 同源和 cookie的同源有差异
cookie仅以domain 和 path作为同源来区分
不区分http和HTTPS
path向下匹配
案例:同WiFi下 ,当别人登账户时,能登录别人的银行账户HTTPS
受害人登录时虽然使用HTTPS登录,看不到明文
但是他如果有同时访问http的流量就能抓到并回应一个http请求访问bank
就能带出cookie
防御:
secure flag防护 cookie带有secure的属性就只能在https里传输,
加密应该要包含 机密性(不能被看)和完整性(不能被改)
但这个secure缺乏完整性,可以被攻击者修改(由于惯性思维,cookie可信,不是外部输入)
RFC https://baike.baidu.com/item/RFC/1840
对于上面那个案例可以通过注入或覆盖cookie
能形成XSS,
PS:what is XSS
外部输入
输入的反射
截断
绕过


惯性思维cookie是唯一的,时name和 value的键值对
cookie由三元组确定,name domain path
写的时候能看到三个 ,但读的时候只有两个
重名cookie出现如何处理?
RFC里 不应该根据先后顺序来辨识是否有效 并没有标准
框架里就根据顺序来判断优先级,所以可以控制顺序,就是优先级
*具有更长的path放在更前面(构造长path)
*path相同,更早创建的优先级更高(把之前的cookie,写入自己的cookie)
惯性思维 一次HTTPS操作就只是请求一次,
中途有很多的302 跳转
惯性思维 总能够清理的cookie
secure cookie 完整性保护:HSTS(浏览器对特定的域名进行HTTPS访问)
pretty bad proxy
407注入攻击
HTTPS path 测信道攻击:
已知路径的识别,
未知路径的猜测
the tongled web https://book.douban.com/subject/6799462/

CORS

web和CORS的背景

跨域访问,可以提交不可以读取
危险:自动提交表单会带来CSRF,
CORS请求访问流程:
细粒度访问控制
CORS安全问题:
宽松的发送权限
风险性的信任依赖(HTTPS 信任http

http请求头

往端口发送字符串
\r \n进行分隔可以注入请求头或响应头(CRLF)
web server(Apache ,Nginx)
Apache:
默认prefork mode
同一个链接同一个进程处理
mod_php(PHP是在Apache的环境里运行的,作为Apache的一个模块)
Nginx:
事件驱动event_driven(单独的一个进程)
同一个连接请求不同的进程处理
php_fpm
反向代理
PHP disabled function 绕过:
/proc/self/mem 对这个proc目录有可读可写的权限 ,这句话就是能改当前进程的内存,因此对Nginx的攻击更方便
修改 got
命令执行
referer:
有些情况没有这个请求头,比如从https 发送到http就没有来源页 ,但反之就有,
X-Forwarded-For:
通过这个能获取用户的IP,在请求头里可以伪造
具体情况不同,不一定会有问题

http响应头

X-Xss-protection:
有0,1两个值
0:没有拦截 ;1:浏览器自动去除有问题的部分
输入这个就能绕过,浏览器因为不能判断这个是本地就有还是用户输入的???
URI(统一资源标识符):
http https ftp
file gopher php zip(server side)
data jacascript (client side)
electron远程命令执行漏洞:
原因:注册表中登记协议处理程序“someapp.exe” “%1”, 使用electron框架创建的程序有其他参数可执行
:// :
浏览器 ,PHP ,Python 的解析都不同,
host:
域名
自动修正(。号变 . CRLF)
判断绕过(URL startwith" " ; 指向内网的IP)
DNS Rebind (第一次请求和第二次请求返回的IP不同,因为同源策略是对host不是IP。)
homograph attack
IP
127.0.0.1
八进制
十进制
十六进制
curl
端口
用http请求其他端口
redis(容错机制)
一些限制绕过
火狐下crlf 到 xss
path
http://127.0.0.1/http/path.php
nginx的PHP fix_pathinfo 的配置问题
Nginx off-by-slash fail
location/static 如果需要访问static,会定位到?
proxy+java
URLencode
特殊含义的字符
* : / ? [] @ $ = + #
* + 会变成空格
base64
特殊字符
PHP中 key中的空格和点 ‘ . ’ 会被替换成下划线
codelgnter框架
fregment
浏览器中的fregment不会发生到服务器
XSS
URL parser(解析)

intranet domain

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值