白帽子讲web安全
权限: 用户admin 系统system
漏洞利用代码 exploit,exp,poc
web技术:网站 SSH linux系统 远程管理应用
banner 宣称,通告,通知,标记语
windows RPC服务 445端口 远程过程调用
shellcode 攻击代码 攻击载荷
webshell 攻击代码 攻击载荷 攻击脚本
敏捷开发 应用 ,软件 设计,策略
浏览器安全
同源策略
浏览器功能 隔离网站 js
有些标签不受到此策略限制
XMLHttpRequest javascript不允许操作HTTP头
DOM Cookie XMLHttpRequest 第三方插件
多进程 多线程
XSS
cookie劫持
构造get与post请求
通过css
获取用户IP
代理服务器 NAT 借助第三方软件获取IP
利用字符编码
utf-8
防御XSS
Httponly js读不到cookie
输入检查 输出检查 URL编码
a标签 检测整个URL 补全http 伪协议
处理富文本
文档 DOM
CSRF
用户 攻击者服务器 博客文章
临时cookie 本地cookie
有的浏览器禁止了本地cookie,攻击者只能想办法获取临时cookie
利用社工,你要使用优惠券,必须先登录淘宝不能关闭(淘宝服务器发送临时cookie给用户),然后你在点击我发给你的优惠券链接(攻击者的服务器),此时用户的临时cookie将发送到攻击者的服务器上面。最终攻击者使用用户的临时cookie(伪造成用户的身份给淘宝发请求)
P3P头副作用
session cookie(临时cookie) 打破同源策略 跨域访问cookie
子域名 二级域名 主域名
flash CSRF
CSRF Worm
CSRF的防御
验证码 Referer check anti CSRF Token
token (对抗CSRF攻击)
同时 表单 session cookie
点击劫持
flash点击劫持
图片覆盖攻击
拖拽劫持与数据窃取
防御点击劫持
看得见的 看不见的 显示风格
frame busting X-Frame-Options
HTML5安全
防御策略:httponly 同源策略 X-Frame-Options等 xss filter
新标签的XSS
iframe的sandbox
link Types: noreferrer
Canvas的妙用
破解验证码
其他安全问题
Cross-Origin Resource Sharing
origin 请求头 防御CSRF
postMessage——跨窗口传递消息
web存储:会话存储和本地存储
服务器端应用安全
注入攻击
sql注入
依赖于攻击者对数据库语言的熟悉
盲注
Timing Attack
数据库攻击技巧
文件操作
命令执行
UDF 用户自定义函数
攻击存储过程
编码问题
十进制 , 二进制 , 十六进制
SQL Column Truncation
正确的防御SQL注入
使用预编译语句
使用存储过程
检查数据类型
使用安全函数
XML注入
代码注入
CRLF注入
文件上传漏洞
%00截断绕过上传检查 伪造文件头
基于web服务本身附带的功能来进行绕过
- apache 文件解析(从后往前)
深入apache官网去花时间遍历各种细节上面的声明都有什么功能
- IIS文件解析问题 00截断被替换成分号
iis 6 ——处理文件夹扩展名出错,从此目录开始下的所有文件不管什么后缀名,全当成ASP文件进行执行
iis 配置问题:目录有写权限,WebDav功能被打开,则默认支持PUT方法上传文件,结合MOVE方法重命名改成脚本文件
- PHP CGI路径解析问题(Nginx配置fastcgi使用PHP时)
结论:官网上面的所有细节声明都有助于攻击者加以利用,开发者关注的是功能的使用,其他的细节部分可能不去关注或者理解错误。
进阶性的安全成长意识是:阅读更多的信息,知道更多的细节,给实战创造更多的意识性行为与实验的想法。
利用上传文件钓鱼用户
在用户不多但被人盯上的时候,攻击者的目标是服务器;在用户较多的网站中,不仅目标是服务器,用户也会成为攻击者的目标。用户使用“百度”是信任它的名气,没想到网站里面有“毒”。
- 比如网址后面带一个图片文件,图片格式的头部分是为了迷惑文件上传合法性的检查,图片里面真正的内容是代码。有的浏览器会“自作聪明”将图片里面代码部分给执行了。
设计安全的文件上传功能
1.文件上传的目录为不可执行
2.判断文件类型
3.使用随机数改写文件名和文件路径
4.单独设置文件服务器的域名
认证与会话管理
认证:认出用户 授权:决定用户能做什么
凭证:比如账号密码 单 双 多
授权:登陆以后可以干什么事情
session与认证
session Fixation攻击
session保持攻击
单点登陆(SSO)
访问控制
主体 客体 操作
垂直权限管理
thinkphp
全局变量覆盖