SlideShare a Scribd company logo
程序员常见的WEB安全漏洞 点苍@淘宝-新业务 2010-08-30
0.大纲
1.引子 不安全的淘宝,一直被紧盯,经常被攻击 ,[object Object]
交易– 盗取银行账号、钓鱼攻击
用户 – 登录密码以及cookie/refer/ip隐私,[object Object]
2.SQL注入 – 危害 字符串填空 绕过登录鉴权   select * from user where name=‘’ or ‘1’=‘1’ and pw=‘’ or ‘1’=‘1’ 执行任意SQL,利用注释,select * from item whre item=‘’;your sql--’或整型字段,select * from item where item_id=0;your sql; 篡改系统账号   alter login sa with password=‘123456’ 用户隐私外泄   select * from user 系统细节外泄   select * from sys.tables 控制操作系统   xp_cmdshell “net stop iisadmin” 损害硬盘宕机   xp_cmdshell “FORMAT C:” 埋入XSS漏洞insert into comment(cnt) values(‘<script>…</script>’)
2.SQL注入 – 防范 避免字符串拼SQL,完全使用参数化查询 将单引号字符取代为连续2个单引号字符 利用框架的防SQL注入功能
2.SQL注入 – iBatis 1 尽量使用#,避免使用$ 根据彩种ID和彩期名得到一个彩期,inttype=123; String title=“123”。  结果: select * from itemwhere type=123 and title=‘123’     $不过滤直接文本替换: select * from item where type=$type$ and title=‘$title$’   #根据变量类型来替换: select * from item where type=#type# and title=#title#
2.SQL注入 – iBatis 2 尽量使用#,避免使用$ 若不能避免$,则带上元数据标识 SQL中需要用户提交的ASC、DESC等SQL关键字 select * from user order by gmt_create  $ordertype:SQLKEYWORD$ SQL中需要用户提交的字段名、表名等元数据 select * from user order by $orderByColumn:METADATA$
2.SQL注入 – iBatis 3 尽量使用#,避免使用$ 若不能避免$,则带上元数据标识 用迭代替换IN关键字中的$ int orderStatus = {0,1,2,3}                   List orders = sqlMap.queryForList(“OrderDAO.findLlOrder", orderStatus);     <select id=“findOrder” parameterClass=“java.lang.Array” resultClass=“java.lang.Object”> select * from order where order_status in            <iterate open=“(“ close=“)” conjunction=“,”>               #orderStatus[]#           </iterate>       </select>   
3.XSS – 简介 Cross-Site Scripting,跨站脚本攻击 定义:攻击者在页面里插入恶意脚本,当用户浏览该页时,嵌入其中的恶意代码被执行,从而达到攻击者的特殊目的 实质:用户提交的HTML代码未经过滤和转义直接回显 特点: 攻击授信和未授信用户,不直接攻击服务器 很常见,例如贴图、 AJAX回调、富文本(如评论留言) 恶意脚本可能位于跨站服务器,但必须用户浏览器执行,最暴力的防范就是禁用JS脚本
3.XSS – 实例 彩票业务AJAX回调导致的XSS漏洞http://caipiao.taobao.com/lottery/order/getDcSpInfoAjax.htm?callback=%3Cscript%3Ealert%28%27xss%27%29%3C/script%3E
3.XSS – 危害 挂蠕虫、木马、病毒 盗取用户的cookie/referer/ip等信息 制作钓鱼网站 用户被提交恶意数据、被执行恶意操作 帮助CSRF,绕过CSRF的token验证
3.XSS – 代码分析 <span>$!productName</span> <input type="hidden" Name="OrinSearchText" value="$!searchBarView.LastKeyword" id="OrinSearchText_rfs" $disabledFlag /> <script>varfromgcn = '$!rundata.Parameters.getString('fromgcn')';</script> <span><iframesrc=http://hacker.com></iframe></span> <input type="hidden" Name="OrinSearchText" value="" ><iframesrc=http://hacker.com></iframe>< "" id="OrinSearchText_rfs" $disabledFlag /> <script>varfromgcn = '';hackerFunction(document.cookie);''; </script>
3.XSS – 防范 输入过滤,RichTextXssFilter.filter(input) 输出转义,HTML ESCAPE
4.CSRF – 简介 Cross Site Request Forgery,即跨站请求伪造,有时也缩写为XSRF 定义: 在恶意站点上,促使用户请求有CSRF漏洞的应用的 URL或欺骗性的表单,从而修改用户数据 实质:利用session机制,盗用授信用户对应用做一些恶意的GET/POST提交 特点: 不同于XSS,恶意脚本一定位于跨站服务器 攻击授信用户,不直接攻击服务器 近年增多,授信用户的贴图、表单提交、页面交互、AJAX调用都可能导致该漏洞
4.CSRF – 实例 黑客在服务器端编写恶意脚本,并构造授信操作的URL,例如评论 恶意用户回复帖子时候贴图,图片地址指向黑客事先编写的恶意脚本 当用户浏览这些帖子时,就会请求该图片,不知觉访问了恶意脚本 恶意脚本利用302重定向,根据帖子不同跳转到对应的评论URL 用户在不知情情况下发表了评论,帮恶意用户顶贴 所以,论坛一般会让用户在评论时输入验证码,来防止类似攻击
4.CSRF – 危害 获得管理员权限 盗取用户银行卡、信用卡信息 授信用户被提交恶意数据、被执行恶意操作
4.CSRF – 防范 服务器区分GET/POST,增加攻击难度 REFERER校验,补充手段 改长授信为短授信 时间戳 关键流程使用验证码 Token验证 严防XSS,否则短授信可能被伪造
5.其它漏洞 命令行注入 文件上传漏洞 缓冲区溢出 DDoS 访问控制漏洞 Logic Flaw,逻辑漏洞 无限制URL跳转漏洞 表单重复提交 Struts/Webwork远程命令执行漏洞
6.安全开发流程 提高安全开发意识 遵守安全编码规范 引入WEB安全测试 逆向思维,从黑客角度发现潜在的漏洞 网络安全 ≠ WEB安全 ≠ XSS ≠ alert
7.黑客攻击思路 找漏洞 分析产品或开源代码 浏览器、操作系统的0day漏洞 编写恶意脚本 蛊惑用户访问恶意链接,执行恶意脚本完成攻击 得到用户隐私 拿管理员权限 钓鱼网站 挂木马
9.安全开发Checklist
10.参考文献 SQL INJECTION SQL注入 iBATIS使用$和#的一些理解 XSS Wikipedia 不能忽视的XSS漏洞 CSRF Wikipedia Google GMail E-mail Hijack Technique Struts2/XWork < 2.2.0远程执行任意代码漏洞分析及修补 Struts2和Webwork远程命令执行漏洞分析

More Related Content

What's hot

網站程式資安白箱與黑箱檢測處理經驗分享
網站程式資安白箱與黑箱檢測處理經驗分享網站程式資安白箱與黑箱檢測處理經驗分享
網站程式資安白箱與黑箱檢測處理經驗分享
Ying-Chun Cheng
 
用戶端攻擊與防禦
用戶端攻擊與防禦用戶端攻擊與防禦
用戶端攻擊與防禦
Taien Wang
 
HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)
HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)
HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)
HITCON GIRLS
 
資訊安全入門
資訊安全入門資訊安全入門
資訊安全入門Tyler Chen
 
網站系統安全及資料保護設計認知 2019
網站系統安全及資料保護設計認知 2019網站系統安全及資料保護設計認知 2019
網站系統安全及資料保護設計認知 2019
Justin Lin
 
OWASP Top 10 (2013) 正體中文版
OWASP Top 10 (2013) 正體中文版OWASP Top 10 (2013) 正體中文版
OWASP Top 10 (2013) 正體中文版
Bruce Chen
 
議題二:Web應用程式安全防護
議題二:Web應用程式安全防護議題二:Web應用程式安全防護
議題二:Web應用程式安全防護Nicolas su
 
滲透測試 Talk @ Nisra
滲透測試 Talk @ Nisra滲透測試 Talk @ Nisra
滲透測試 Talk @ Nisra
Orange Tsai
 
網頁弱點掃描服務簡報 20120606
網頁弱點掃描服務簡報 20120606網頁弱點掃描服務簡報 20120606
網頁弱點掃描服務簡報 20120606Fionsu
 
基礎網頁程式攻擊檢驗
基礎網頁程式攻擊檢驗基礎網頁程式攻擊檢驗
基礎網頁程式攻擊檢驗
Taien Wang
 
WebConf 2013「Best Practices - The Upload」
WebConf 2013「Best Practices - The Upload」WebConf 2013「Best Practices - The Upload」
WebConf 2013「Best Practices - The Upload」
Orange Tsai
 
OWST - Orange Web Security Toolkit Documentation
OWST - Orange Web Security Toolkit DocumentationOWST - Orange Web Security Toolkit Documentation
OWST - Orange Web Security Toolkit DocumentationOrange Tsai
 
6.web 安全架构浅谈
6.web 安全架构浅谈6.web 安全架构浅谈
6.web 安全架构浅谈
Hsiao Tim
 
一個微信專案從0到000的效能調教
一個微信專案從0到000的效能調教一個微信專案從0到000的效能調教
一個微信專案從0到000的效能調教
Bruce Chen
 
HITCON GIRLS_惡意程式分析介紹_in 成功大學_by Turkey_2016.04.28
HITCON GIRLS_惡意程式分析介紹_in 成功大學_by Turkey_2016.04.28HITCON GIRLS_惡意程式分析介紹_in 成功大學_by Turkey_2016.04.28
HITCON GIRLS_惡意程式分析介紹_in 成功大學_by Turkey_2016.04.28
Shang Wei Li
 
渗透测试思路技术与方法
渗透测试思路技术与方法渗透测试思路技术与方法
渗透测试思路技术与方法
 
Ccns 網路基礎概論
Ccns 網路基礎概論 Ccns 網路基礎概論
Ccns 網路基礎概論
世平 梁
 
.NET Security Application/Web Development - Part I
.NET Security Application/Web Development - Part I.NET Security Application/Web Development - Part I
.NET Security Application/Web Development - Part I
Chen-Tien Tsai
 
網站系統安全及資料保護設計認知
網站系統安全及資料保護設計認知網站系統安全及資料保護設計認知
網站系統安全及資料保護設計認知
Justin Lin
 

What's hot (19)

網站程式資安白箱與黑箱檢測處理經驗分享
網站程式資安白箱與黑箱檢測處理經驗分享網站程式資安白箱與黑箱檢測處理經驗分享
網站程式資安白箱與黑箱檢測處理經驗分享
 
用戶端攻擊與防禦
用戶端攻擊與防禦用戶端攻擊與防禦
用戶端攻擊與防禦
 
HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)
HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)
HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)
 
資訊安全入門
資訊安全入門資訊安全入門
資訊安全入門
 
網站系統安全及資料保護設計認知 2019
網站系統安全及資料保護設計認知 2019網站系統安全及資料保護設計認知 2019
網站系統安全及資料保護設計認知 2019
 
OWASP Top 10 (2013) 正體中文版
OWASP Top 10 (2013) 正體中文版OWASP Top 10 (2013) 正體中文版
OWASP Top 10 (2013) 正體中文版
 
議題二:Web應用程式安全防護
議題二:Web應用程式安全防護議題二:Web應用程式安全防護
議題二:Web應用程式安全防護
 
滲透測試 Talk @ Nisra
滲透測試 Talk @ Nisra滲透測試 Talk @ Nisra
滲透測試 Talk @ Nisra
 
網頁弱點掃描服務簡報 20120606
網頁弱點掃描服務簡報 20120606網頁弱點掃描服務簡報 20120606
網頁弱點掃描服務簡報 20120606
 
基礎網頁程式攻擊檢驗
基礎網頁程式攻擊檢驗基礎網頁程式攻擊檢驗
基礎網頁程式攻擊檢驗
 
WebConf 2013「Best Practices - The Upload」
WebConf 2013「Best Practices - The Upload」WebConf 2013「Best Practices - The Upload」
WebConf 2013「Best Practices - The Upload」
 
OWST - Orange Web Security Toolkit Documentation
OWST - Orange Web Security Toolkit DocumentationOWST - Orange Web Security Toolkit Documentation
OWST - Orange Web Security Toolkit Documentation
 
6.web 安全架构浅谈
6.web 安全架构浅谈6.web 安全架构浅谈
6.web 安全架构浅谈
 
一個微信專案從0到000的效能調教
一個微信專案從0到000的效能調教一個微信專案從0到000的效能調教
一個微信專案從0到000的效能調教
 
HITCON GIRLS_惡意程式分析介紹_in 成功大學_by Turkey_2016.04.28
HITCON GIRLS_惡意程式分析介紹_in 成功大學_by Turkey_2016.04.28HITCON GIRLS_惡意程式分析介紹_in 成功大學_by Turkey_2016.04.28
HITCON GIRLS_惡意程式分析介紹_in 成功大學_by Turkey_2016.04.28
 
渗透测试思路技术与方法
渗透测试思路技术与方法渗透测试思路技术与方法
渗透测试思路技术与方法
 
Ccns 網路基礎概論
Ccns 網路基礎概論 Ccns 網路基礎概論
Ccns 網路基礎概論
 
.NET Security Application/Web Development - Part I
.NET Security Application/Web Development - Part I.NET Security Application/Web Development - Part I
.NET Security Application/Web Development - Part I
 
網站系統安全及資料保護設計認知
網站系統安全及資料保護設計認知網站系統安全及資料保護設計認知
網站系統安全及資料保護設計認知
 

Similar to 程序员常见的Web安全漏洞

Hiiir 資安講座 IV 伺服器端攻擊與防禦I
Hiiir 資安講座 IV 伺服器端攻擊與防禦IHiiir 資安講座 IV 伺服器端攻擊與防禦I
Hiiir 資安講座 IV 伺服器端攻擊與防禦IHiiir Lab
 
黑站騎士
黑站騎士黑站騎士
黑站騎士
openblue
 
Hiiir 資安講座 II 使安全成為軟體開發的一部分
Hiiir 資安講座 II 使安全成為軟體開發的一部分Hiiir 資安講座 II 使安全成為軟體開發的一部分
Hiiir 資安講座 II 使安全成為軟體開發的一部分Hiiir Lab
 
[xKungFoo2012]Web Service Hack
[xKungFoo2012]Web Service Hack[xKungFoo2012]Web Service Hack
[xKungFoo2012]Web Service Hack
pnig0s pnig0s
 
SQL Injection
SQL InjectionSQL Injection
SQL Injection
Vincent Chi
 
PIC_Experience2
PIC_Experience2PIC_Experience2
PIC_Experience2ray chen
 
網頁安全 Web security 入門 @ Study-Area
網頁安全 Web security 入門 @ Study-Area網頁安全 Web security 入門 @ Study-Area
網頁安全 Web security 入門 @ Study-Area
Orange Tsai
 
Hiiir 資安講座 I 基礎網頁程式攻擊檢驗
Hiiir 資安講座 I 基礎網頁程式攻擊檢驗Hiiir 資安講座 I 基礎網頁程式攻擊檢驗
Hiiir 資安講座 I 基礎網頁程式攻擊檢驗Hiiir Lab
 
雲端入侵 – 郵件攻擊與密碼竊取
雲端入侵 – 郵件攻擊與密碼竊取雲端入侵 – 郵件攻擊與密碼竊取
雲端入侵 – 郵件攻擊與密碼竊取OFMKT
 
第四节课:web安全2.0
第四节课:web安全2.0第四节课:web安全2.0
第四节课:web安全2.0Tommy Chang
 
20150528联动技术大讲堂15(刘胜)业务系统上线标准指引
20150528联动技术大讲堂15(刘胜)业务系统上线标准指引20150528联动技术大讲堂15(刘胜)业务系统上线标准指引
20150528联动技术大讲堂15(刘胜)业务系统上线标准指引
liu sheng
 
雲端入侵:郵件攻擊與密碼竊取
雲端入侵:郵件攻擊與密碼竊取雲端入侵:郵件攻擊與密碼竊取
雲端入侵:郵件攻擊與密碼竊取
openblue
 
9.“企业应急响应与反渗透”之真实案例分析
9.“企业应急响应与反渗透”之真实案例分析9.“企业应急响应与反渗透”之真实案例分析
9.“企业应急响应与反渗透”之真实案例分析
Hsiao Tim
 
Microsoft Azure的20大常见安全漏洞与配置错误
Microsoft Azure的20大常见安全漏洞与配置错误Microsoft Azure的20大常见安全漏洞与配置错误
Microsoft Azure的20大常见安全漏洞与配置错误
Cheah Eng Soon
 
Web安全分享 -公开版
Web安全分享 -公开版Web安全分享 -公开版
Web安全分享 -公开版
piao2010
 
議題三:政府網站常見弱點與分析
議題三:政府網站常見弱點與分析議題三:政府網站常見弱點與分析
議題三:政府網站常見弱點與分析Nicolas su
 
雲端上的資訊安全-Global Azure Bootcamp 2015 臺北場
雲端上的資訊安全-Global Azure Bootcamp 2015 臺北場雲端上的資訊安全-Global Azure Bootcamp 2015 臺北場
雲端上的資訊安全-Global Azure Bootcamp 2015 臺北場
twMVC
 
安博士Asec 2010年1月安全报告
安博士Asec 2010年1月安全报告安博士Asec 2010年1月安全报告
安博士Asec 2010年1月安全报告ahnlabchina
 
安博士Asec 2010年1月安全报告
安博士Asec 2010年1月安全报告安博士Asec 2010年1月安全报告
安博士Asec 2010年1月安全报告ahnlabchina
 

Similar to 程序员常见的Web安全漏洞 (20)

Hiiir 資安講座 IV 伺服器端攻擊與防禦I
Hiiir 資安講座 IV 伺服器端攻擊與防禦IHiiir 資安講座 IV 伺服器端攻擊與防禦I
Hiiir 資安講座 IV 伺服器端攻擊與防禦I
 
黑站騎士
黑站騎士黑站騎士
黑站騎士
 
Hiiir 資安講座 II 使安全成為軟體開發的一部分
Hiiir 資安講座 II 使安全成為軟體開發的一部分Hiiir 資安講座 II 使安全成為軟體開發的一部分
Hiiir 資安講座 II 使安全成為軟體開發的一部分
 
[xKungFoo2012]Web Service Hack
[xKungFoo2012]Web Service Hack[xKungFoo2012]Web Service Hack
[xKungFoo2012]Web Service Hack
 
SQL Injection
SQL InjectionSQL Injection
SQL Injection
 
PIC_Experience2
PIC_Experience2PIC_Experience2
PIC_Experience2
 
網頁安全 Web security 入門 @ Study-Area
網頁安全 Web security 入門 @ Study-Area網頁安全 Web security 入門 @ Study-Area
網頁安全 Web security 入門 @ Study-Area
 
Hiiir 資安講座 I 基礎網頁程式攻擊檢驗
Hiiir 資安講座 I 基礎網頁程式攻擊檢驗Hiiir 資安講座 I 基礎網頁程式攻擊檢驗
Hiiir 資安講座 I 基礎網頁程式攻擊檢驗
 
雲端入侵 – 郵件攻擊與密碼竊取
雲端入侵 – 郵件攻擊與密碼竊取雲端入侵 – 郵件攻擊與密碼竊取
雲端入侵 – 郵件攻擊與密碼竊取
 
第四节课:web安全2.0
第四节课:web安全2.0第四节课:web安全2.0
第四节课:web安全2.0
 
20150528联动技术大讲堂15(刘胜)业务系统上线标准指引
20150528联动技术大讲堂15(刘胜)业务系统上线标准指引20150528联动技术大讲堂15(刘胜)业务系统上线标准指引
20150528联动技术大讲堂15(刘胜)业务系统上线标准指引
 
雲端入侵:郵件攻擊與密碼竊取
雲端入侵:郵件攻擊與密碼竊取雲端入侵:郵件攻擊與密碼竊取
雲端入侵:郵件攻擊與密碼竊取
 
8 3
8 38 3
8 3
 
9.“企业应急响应与反渗透”之真实案例分析
9.“企业应急响应与反渗透”之真实案例分析9.“企业应急响应与反渗透”之真实案例分析
9.“企业应急响应与反渗透”之真实案例分析
 
Microsoft Azure的20大常见安全漏洞与配置错误
Microsoft Azure的20大常见安全漏洞与配置错误Microsoft Azure的20大常见安全漏洞与配置错误
Microsoft Azure的20大常见安全漏洞与配置错误
 
Web安全分享 -公开版
Web安全分享 -公开版Web安全分享 -公开版
Web安全分享 -公开版
 
議題三:政府網站常見弱點與分析
議題三:政府網站常見弱點與分析議題三:政府網站常見弱點與分析
議題三:政府網站常見弱點與分析
 
雲端上的資訊安全-Global Azure Bootcamp 2015 臺北場
雲端上的資訊安全-Global Azure Bootcamp 2015 臺北場雲端上的資訊安全-Global Azure Bootcamp 2015 臺北場
雲端上的資訊安全-Global Azure Bootcamp 2015 臺北場
 
安博士Asec 2010年1月安全报告
安博士Asec 2010年1月安全报告安博士Asec 2010年1月安全报告
安博士Asec 2010年1月安全报告
 
安博士Asec 2010年1月安全报告
安博士Asec 2010年1月安全报告安博士Asec 2010年1月安全报告
安博士Asec 2010年1月安全报告
 

程序员常见的Web安全漏洞

  • 3.
  • 5.
  • 6. 2.SQL注入 – 危害 字符串填空 绕过登录鉴权 select * from user where name=‘’ or ‘1’=‘1’ and pw=‘’ or ‘1’=‘1’ 执行任意SQL,利用注释,select * from item whre item=‘’;your sql--’或整型字段,select * from item where item_id=0;your sql; 篡改系统账号 alter login sa with password=‘123456’ 用户隐私外泄 select * from user 系统细节外泄 select * from sys.tables 控制操作系统 xp_cmdshell “net stop iisadmin” 损害硬盘宕机 xp_cmdshell “FORMAT C:” 埋入XSS漏洞insert into comment(cnt) values(‘<script>…</script>’)
  • 7. 2.SQL注入 – 防范 避免字符串拼SQL,完全使用参数化查询 将单引号字符取代为连续2个单引号字符 利用框架的防SQL注入功能
  • 8. 2.SQL注入 – iBatis 1 尽量使用#,避免使用$ 根据彩种ID和彩期名得到一个彩期,inttype=123; String title=“123”。 结果: select * from itemwhere type=123 and title=‘123’ $不过滤直接文本替换: select * from item where type=$type$ and title=‘$title$’ #根据变量类型来替换: select * from item where type=#type# and title=#title#
  • 9. 2.SQL注入 – iBatis 2 尽量使用#,避免使用$ 若不能避免$,则带上元数据标识 SQL中需要用户提交的ASC、DESC等SQL关键字 select * from user order by gmt_create  $ordertype:SQLKEYWORD$ SQL中需要用户提交的字段名、表名等元数据 select * from user order by $orderByColumn:METADATA$
  • 10. 2.SQL注入 – iBatis 3 尽量使用#,避免使用$ 若不能避免$,则带上元数据标识 用迭代替换IN关键字中的$ int orderStatus = {0,1,2,3}                   List orders = sqlMap.queryForList(“OrderDAO.findLlOrder", orderStatus);     <select id=“findOrder” parameterClass=“java.lang.Array” resultClass=“java.lang.Object”> select * from order where order_status in            <iterate open=“(“ close=“)” conjunction=“,”>               #orderStatus[]#           </iterate>       </select>   
  • 11. 3.XSS – 简介 Cross-Site Scripting,跨站脚本攻击 定义:攻击者在页面里插入恶意脚本,当用户浏览该页时,嵌入其中的恶意代码被执行,从而达到攻击者的特殊目的 实质:用户提交的HTML代码未经过滤和转义直接回显 特点: 攻击授信和未授信用户,不直接攻击服务器 很常见,例如贴图、 AJAX回调、富文本(如评论留言) 恶意脚本可能位于跨站服务器,但必须用户浏览器执行,最暴力的防范就是禁用JS脚本
  • 12. 3.XSS – 实例 彩票业务AJAX回调导致的XSS漏洞http://caipiao.taobao.com/lottery/order/getDcSpInfoAjax.htm?callback=%3Cscript%3Ealert%28%27xss%27%29%3C/script%3E
  • 13. 3.XSS – 危害 挂蠕虫、木马、病毒 盗取用户的cookie/referer/ip等信息 制作钓鱼网站 用户被提交恶意数据、被执行恶意操作 帮助CSRF,绕过CSRF的token验证
  • 14. 3.XSS – 代码分析 <span>$!productName</span> <input type="hidden" Name="OrinSearchText" value="$!searchBarView.LastKeyword" id="OrinSearchText_rfs" $disabledFlag /> <script>varfromgcn = '$!rundata.Parameters.getString('fromgcn')';</script> <span><iframesrc=http://hacker.com></iframe></span> <input type="hidden" Name="OrinSearchText" value="" ><iframesrc=http://hacker.com></iframe>< "" id="OrinSearchText_rfs" $disabledFlag /> <script>varfromgcn = '';hackerFunction(document.cookie);''; </script>
  • 15. 3.XSS – 防范 输入过滤,RichTextXssFilter.filter(input) 输出转义,HTML ESCAPE
  • 16. 4.CSRF – 简介 Cross Site Request Forgery,即跨站请求伪造,有时也缩写为XSRF 定义: 在恶意站点上,促使用户请求有CSRF漏洞的应用的 URL或欺骗性的表单,从而修改用户数据 实质:利用session机制,盗用授信用户对应用做一些恶意的GET/POST提交 特点: 不同于XSS,恶意脚本一定位于跨站服务器 攻击授信用户,不直接攻击服务器 近年增多,授信用户的贴图、表单提交、页面交互、AJAX调用都可能导致该漏洞
  • 17. 4.CSRF – 实例 黑客在服务器端编写恶意脚本,并构造授信操作的URL,例如评论 恶意用户回复帖子时候贴图,图片地址指向黑客事先编写的恶意脚本 当用户浏览这些帖子时,就会请求该图片,不知觉访问了恶意脚本 恶意脚本利用302重定向,根据帖子不同跳转到对应的评论URL 用户在不知情情况下发表了评论,帮恶意用户顶贴 所以,论坛一般会让用户在评论时输入验证码,来防止类似攻击
  • 18. 4.CSRF – 危害 获得管理员权限 盗取用户银行卡、信用卡信息 授信用户被提交恶意数据、被执行恶意操作
  • 19. 4.CSRF – 防范 服务器区分GET/POST,增加攻击难度 REFERER校验,补充手段 改长授信为短授信 时间戳 关键流程使用验证码 Token验证 严防XSS,否则短授信可能被伪造
  • 20. 5.其它漏洞 命令行注入 文件上传漏洞 缓冲区溢出 DDoS 访问控制漏洞 Logic Flaw,逻辑漏洞 无限制URL跳转漏洞 表单重复提交 Struts/Webwork远程命令执行漏洞
  • 21. 6.安全开发流程 提高安全开发意识 遵守安全编码规范 引入WEB安全测试 逆向思维,从黑客角度发现潜在的漏洞 网络安全 ≠ WEB安全 ≠ XSS ≠ alert
  • 22. 7.黑客攻击思路 找漏洞 分析产品或开源代码 浏览器、操作系统的0day漏洞 编写恶意脚本 蛊惑用户访问恶意链接,执行恶意脚本完成攻击 得到用户隐私 拿管理员权限 钓鱼网站 挂木马
  • 24. 10.参考文献 SQL INJECTION SQL注入 iBATIS使用$和#的一些理解 XSS Wikipedia 不能忽视的XSS漏洞 CSRF Wikipedia Google GMail E-mail Hijack Technique Struts2/XWork < 2.2.0远程执行任意代码漏洞分析及修补 Struts2和Webwork远程命令执行漏洞分析