一 WEB安全入门
1.WEB漏洞利用演示
2.白帽子与黑帽子介绍
3.漏洞统计
4.最近安全大事件
5.前沿技术介绍
APT
水坑攻击
社会工程学
移动安全
物联网安全
边信道攻击
云安全
6.练习:查询自己泄露的信息
二 常用测试工具
1.常用测试工具
Burpsuite/Fiddler/Charlesproxy
Httpfox/Hackbar/User Agent Switcher/Poster
Curl
Sqlmap
2.Httpfox/Hackbar/User Agent Switcher/Poster/Curl
3.Burp Suite介绍与使用
Burp Suite 是用于攻击web 应用程序的集成平台,包含了许多工具。Burp Suite为这些工具设计了许多接口,以加快攻击应用程序的过程。所有工具都共享一个请求,并能处理对应的HTTP 消息、持久性、认证、代理、日志、警报。
4.练习:绕过前段验证上传木马
使用burpsuite绕过验证上传php文件
三 点击劫持与任意重定向漏洞
1.热身:大家来找茬
2.点击劫持介绍&演示
点击劫持,clickjacking,也被称为UI-覆盖攻击。这个词首次出现在2008年,是由互联网安全专家罗伯特·汉森和耶利米·格劳斯曼首创的。
它是通过覆盖不可见的框架误导受害者点击。
虽然受害者点击的是他所看到的网页,但其实他所点击的是被黑客精心构建的另一个置于原网页上面的透明页面。
3.点击劫持危害&防御手段
1)危害
欺骗/诱导用户(管理员)执行一些行为
加粉、删除好友…
2)防御
No frame
X-Frame-Options:Deny
window.confirm()
4.任意重定向介绍&演示
1)介绍
Web应用程序经常将用户重定向和转发到其他网页和网站,并且利用不可信的数据去判定目的页面。
如果没有得到适当验证,攻击者可以重定向受害用户到钓鱼软件或恶意网站,或者使用转发去访问未授权的页面。
2)成因
未对目标URL检测或处理
懒惰or自作聪明
本质:“善良”的使用了用户输入的不可信数据
5.任意重定向危害&防御手段
1)危害:
钓鱼
过URL安全扫描
数据泄露
2)防御
限制重定向范围(白名单)
t.cn,内部引入URL安全扫描(黑名单)
6.练习:修复“热身”活动漏洞
四 XSS与CSRF漏洞
1.热身:大家来找茬
2.XSS介绍&演示
1)介绍
当应用程序收到含有不可信的数据,在没有进行适当的验证和转义的情况下,就将它发送给一个网页浏览器,这就会产生跨站脚本攻击(简称XSS)。
XSS允许攻击者在受害者的浏览器上执行脚本,从而劫持用户会话、危害网站、或者将用户转向至恶意网站。
2)成因
本质是浏览器端代码注入,恶意script代码被浏览器解析。
分类:反射、存储
script:JS、VBScript、flash、ie的css
3.XSS中的异端
会有特殊的东西,常规方式处理不了,如下:
""["\163\165\142\163\164\162"]"\143\157\156\163\164\162\165\143\164\157\162"()
url(javascript:alert(1))
Utf7(demo)
GBK宽字节XSS
Demo!
JsonP
Game!
4.XSS危害&防御手段
1)危害
窃(Cookie)
骗(密码)
肉鸡(扫描器)
浏览器的放大作用
2)防御
转义标签(htmlspecialchars)
限制字符(preg_match)
过滤(preg_replace)
现代浏览器识别xss防御header(X-XSS-Protection)
http only
HTML Purifier(XSS消毒类库)
Twig(模板引擎)
5.CSRF介绍&演示
1)一个跨站请求伪造攻击迫使登录用户的浏览器将伪造的HTTP请求,包括该用户的会话cookie和其他认证信息,发送到一个存在漏洞的web应用程序。
这就允许了攻击者迫使用户浏览器向存在漏洞的应用程序发送请求,而这些请求会被应用程序认为是用户的合法请求。
2)成因
本质:劫持用户身份凭据,发送伪造请求
特殊:JSON/JavaScript Hijacking/SSRF
6.CSRF危害&防御手段
1)危害
看有哪些请求可以伪造
退出登陆=>删贴
修改(路由DNS/个人
信息/文件)
读取敏感信息
2)防御
Csrf token
Referer
验证码
重登陆
验证短信
邮件验证码
多因子值
7.练习:修复“热身”活动漏洞
五 注入漏洞
1.热身:大家来找茬
2.注入介绍&演示
1)介绍
注入攻击漏洞,例如SQL,OS 以及 LDAP注入。这些攻击发生在当不可信的数据作为命令或者查询语句的一部分,被发送给解释器的时候。攻击者发送的恶意数据可以欺骗解释器,以执行计划外的命令或者在未被恰当授权时访问数据
2)成因
本质是查询语句过滤不严导致的非法执行。
最常见的是SQL注入
分类:数字型、字符型
其他:Mongodb(execute)、Redis(config set save)
3.注入危害&防御手段
1)危害
权限控制失效
泄露/丢失数据
读写文件
执行命令
2)防御
严格限制数据库操作权限
白/黑名单过滤
转义
参数绑定mysqli::bind_param()/PDO::bindParam()
注意POST/GET/SERVER/COOKIE
注意编码转换的问题
5.3.6需PDO::setAttribute(PDO::ATTR_EMULATE_PREPARES,false);
4.SQLMap介绍与使用
强大的注入工具,既能防身又能砍人
支持多种数据库注入、多样的配置,可以直接脱裤、获取shell、内置Google Hack工具。
sqlmap -u
Sqlmap –h
5.练习1:修复“热身”活动漏洞
六 访问控制与命令执行漏洞
1.热身:大家来找茬
2.访问控制漏洞介绍&演示
1)介绍
大多数Web应用程序在功能在UI中可见以前,验证功能级别的访问权限。但是,应用程序需要在每个功能被访问时在服务器端执行相同的访问控制检查。如果请求没有被验证,攻击者能够伪造请求以在未经适当授权时访问功能。
2)成因
越权
分类
假象
横向
纵向
3.访问控制漏洞危害&防御手段
1)危害
权限控制形同虚设
越权
提权
2)防御
不要障眼法
权限越严格越好
增加内网访问或ip白名单
增加系统审计日志
4.命令执行漏洞介绍&演示
1)介绍
由于开发人员编写源码,没有针对代码中可执行的特殊函数入口做过滤,导致客户端可以提交恶意构造语句提交,并交由服务器端执行。命令注入攻击中WEB服务器没有过滤类似system(),eval(),exec()等函数是该漏洞攻击成功的最主要原因。
2)成因
执行了不该执行的命令
分类
命令注入
解析漏洞
远程包含
5.命令执行漏洞危害&防御手段
1)危害
合法后门
控制服务器
获取数据
修改代码
2)防御
过滤参数,限制输入
保证软件或框架的更新(OWASP Top 10之使用包含漏洞的软件或库)
禁用/不使用安全函数:
Escapeshellarg(针对shell)
如exec(),passthru(),proc_open(),shell_exec(),system(),popen()…
6.练习:修复“热身”活动漏洞
七 文件上传下载与敏感信息泄露漏洞
1.热身:大家来找茬
2.文件上传下载漏洞介绍&演示
1)介绍
一般情况下文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。文件下载漏洞是指,用户通过构造特殊请求,能够在未经许可的情况下,下载服务器的系统或应用程序文件或代码。
2)成因
权限控制问题
文件类型判断不严
读写文件缺陷
3.文件上传下载漏洞危害&防御手段
1)危害
直接拿webshell
间接拿webshell
系统数据泄露
隐私泄露
2)防御
分开部署
上传文件不给于可执行权限
严格限制路径、控制访问权限
4.敏感信息泄露介绍&演示
1)介绍
许多Web应用程序没有正确保护敏感数据,如信用卡,税务ID和身份验证凭据。攻击者可能会窃取或篡改这些弱保护的数据以进行信用卡诈骗、身份窃取,或其他犯罪。敏感数据值需额外的保护,比如在存放或在传输过程中的加密,以及在与浏览器交换时进行特殊的预防措施。
2)成因
本质是安全素质低…
分类:使用有缺陷的*、配置不当、操作不规范
示例:
Apache 列目录
.svn/entries, .git/config
PHP彩蛋
www.zip
Demo!
5.敏感信息泄露危害&防御手段
1)危害
用户数据泄露
配置与架构信息泄露
源码泄露
2)防御
安全配置
加密传输
加密存储
SDL
6."故意隐藏"的后门
?no_auth=1
test.php
referer
Guest/guest
debug.php
if($_COOKIE[‘debug’])
http://www.baidu.com/index.php#wd=php%20%E8%8E%B7%E5%8F%96ip
网友评论