网络与信息安全教程 第十一讲Web安全 段云所副教授 北京大学计算机系 2001/5/1北京大学
第十一讲 Web安全 网络与信息安全教程 网络与信息安全教程 段云所 副教授 段云所 副教授 北京大学计算机系 2001/5/11 北京大学
Web的结构(bs模式) 数据库 中间动态 生成器 浏览器 应用 server browser
Web的结构(b/s模式 浏览器 中间动态 生成器 应用 数据库 browser server
Web开发环境 e CGI ●ASP e Java
CGI ASP Java Web开发环境
CG安全威胁 非正常的表单数据 上传表单数据可能不是预期的: 选项错误、大于最大长度、字段不符 路径数据错误 利用PATH_NFO变量,例如在以下源代码中提交不同路径将导致不同结果: echo <HTML<HEADER><TITLE>File</TITLE><HEADER><BODY> echo Here is the requested file<PRE>In' cat SPATH INFO echo </PRE></BODY><HTML Url:http:/www.server.com/chi-bin/fool.sh/public/faq.txtftEnfAq.txt URL:http:/www.server.com/chi-bin/fool.sh/etc/passwd打印passwd文件
非正常的表单数据 上传表单数据可能不是预期的 选项错误 大于最大长度 字段不符 路径数据错误 利用PATH_INFO变量,例如在以下源代码中提交不同路径将导致不同结果 echo “<HTML><HEADER><TITLE>File</TITLE><HEADER><BODY>” echo “ Here is the requested file<PRE>\n” cat $PATH_INFO” echo “</PRE></BODY><HTML>” URL: http:/www.server.com/chi-bin/fool.sh/public/faq.txt 打印faq.txt URL: http:/www.server.com/chi-bin/fool.sh/etc/passwd 打印passwd文件 CGI安全威胁
CG的安全威胁 0字节问题 Parse Suser input Database=user input. db Open(FILe" <Database>); 提交etc/passwd0时就可能打开 passwd 处理文件名 分号:命令分隔 目录分割 当前目录 :上级目录 处理HTML 处理外部进程 处理内部函数
0字节问题 Parse $user_input $database=“user_input.db”; Open(FILE”<$database”>); 提交/etc /passwd\0 时就可能打开passwd 处理文件名 分号 命令分隔 / 目录分割 ./ 当前目录 ../ 上级目录 处理HTML 处理外部进程 处理内部函数 CGI的安全威胁