惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
Y
Y Combinator Blog
M
MIT News - Artificial intelligence
The Cloudflare Blog
WordPress大学
WordPress大学
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 司徒正美
小众软件
小众软件
Blog — PlanetScale
Blog — PlanetScale
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
J
Java Code Geeks
云风的 BLOG
云风的 BLOG
C
Check Point Blog
D
DataBreaches.Net
T
The Blog of Author Tim Ferriss
V
V2EX
F
Fortinet All Blogs
B
Blog
大猫的无限游戏
大猫的无限游戏
N
Netflix TechBlog - Medium
B
Blog RSS Feed
A
About on SuperTechFans
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

博客园 - 尘梦

calude code 2.188 根据cli.map还原 centos6 安装gcc 多版本 自定义编译bulma 神通mysql模式转 mysql ai数学书籍 chromedriver 编译php需要的扩展 python 合并同列数据 组合 新的excel vue table 表格记录选中 linux wktohtmlpdf 结合/tmp路径 无法创建问题 c语言开发 php扩展 sm4 macos php 如何链接神通数据库aci layui table tr a标签倒计时 操作 刷新以后继续倒计时 使用c# 开发 php的com组件 世界级地图数据处理 及 联动效果 php 结合pcntl_fork导出excel数据 使用 python 部署chatglm2b macos 下连接php 人大金仓pdo_kdb问题 php curl 多次发送
网络安全渗透测试写法
尘梦 · 2024-10-31 · via 博客园 - 尘梦
xss谝:

CSP:设置白名单,只允许特定来源的脚本和资源加载,阻止不在白名单中的脚本执行

Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:;

XSS 保护头

X-XSS-Protection: 1; mode=block

php中使用  htmlspecialchars

设置 SameSite Cookie 
SameSite=Strict

html转义:
function escapeHTML(str) {
  const div = document.createElement('div');
  div.appendChild(document.createTextNode(str));
  return div.innerHTML;
}

过滤

function escapeAttribute(attr) {
  return attr
    .replace(/&/g, '&')
    .replace(/"/g, '"')
    .replace(/'/g, ''')
    .replace(/</g, '&lt;')
    .replace(/>/g, '&gt;');
}

移除

function stripHTMLTags(str) {
  return str.replace(/<\/?[^>]+(>|$)/g, "");
}


使用 DOMPurify
越权防御:

身份验证

权限检查

数据加密

会话重新生成

session_set_cookie_params([
    'httponly' => true,
    'secure' => isset($_SERVER['HTTPS']),
    'samesite' => 'Strict'
]);
session_start();

 CSRF

cookie添加签名:

// 设置 Cookie 时
$cookieValue = "user_data";
$secretKey = "your-secret-key";
$signature = hash_hmac('sha256', $cookieValue, $secretKey);
setcookie("auth_cookie", $cookieValue . '.' . $signature);

// 读取 Cookie 时验证
list($value, $signature) = explode('.', $_COOKIE['auth_cookie']);
$expectedSignature = hash_hmac('sha256', $value, $secretKey);

if (hash_equals($expectedSignature, $signature)) {
    // 验证成功
} else {
    // Cookie 被篡改
    setcookie("auth_cookie", "", time() - 3600); // 删除无效 Cookie
    exit("Invalid cookie.");
}