同源策略和域安全相关问题

同源策略

同源策略是目前所有浏览器都实行的一种安全政策,A 网页设置的 Cookie,B 网页不能打开,除非这两个网页同源,所谓同源,是指:两个网页,协议(protocol)、端口(port)、和主机(host)都相同,如果非同源,以下三种行为受到限制:

  1. Cookie,LocalStorage,IndexDB 无法读取

    LocalStorage 是 HTML5 本地存储 Web Storage 特性的 API 之一,用于将大量数据(最大 5 M)保存在浏览器中,保存后数据永远存在不会失效过期,除非用 Js 手动清除,它不参与网络传输,一般用于性能优化,可以保存图片、Js、CSS、HTML 模板、大量数据,IndexDB 也是用于储存的东西

    阅读全文 »

Linux 反弹 Shell 的理解及各种方法

本文主要参考于:反弹Shell,看这一篇就够了

关于反弹 Shell

反弹 Shell:就是攻击机监听在某个 TCP/UDP 端口为服务端,目标机主动发起请求到攻击机监听的端口,并将其命令行的输入输出转到攻击机,相对于正向连接(远程桌面、Web 服务、ssh、telnet),反弹 Shell 属于反向连接。反弹 Shell 通常适用于:

  • 目标机因防火墙受限,目标机器只能发送请求,不能接收请求
  • 目标机端口被占用
  • 目标机位于局域网,或 IP 会动态变化,攻击机无法直接连接
  • 对于病毒,木马,受害者什么时候能中招,对方的网络环境是什么样的,什么时候开关机,都是未知的
  • ……
阅读全文 »

Flask 造成的 Session 安全问题

在 Flask 中使用 Session

使用下面的代码设置一个 Session,代码里的secret_key是很重要的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from flask import Flask, session

app = Flask(__name__)
app.secret_key = 'SCFmkpovdDVCJPO21cvcds'

@app.route('/')
def set_session():
if 'name' in session:
name = session['name']
if name == "anonymous":
return 'Session 已设置,你是 anonymous'
elif name == 'admin':
return 'Session 已设置,你是 admin'
else:
return 'Session 已设置,你是 ???'
session['name'] = 'anonymous'
return 'Session 未设置,现已设置'

if __name__ == '__main__':
app.run(debug=False, port=8080)
阅读全文 »