网站建设中文件上传跨站点脚本编制
获取id 值 ,否则就终止程序的执行 ,这样就降低了利用 URL 数。例如 , 将上面代码 中的“$atten ”换成 “escapeshellarg
进行直接访问和输入恶意数据的可能性。 ( $atten) ”后 ,运行的结果将是一串错误信息 ,攻击者的两条
( ) 命令也不会被执行。此外 ,还可对 $atten 进行 Email 地址检
解决方法: 1 将 register-globals 设置为off ,使用特殊定义
( ) 查 ,进一步过滤非法输入。
数组访问变量; 2 养成良好的编程习惯 ,对所有内部变量进
行正确的初始化。 1. 4 跨站点脚本编制
1. 2 文件上传 在 HTML 语言中,为了区分文本和标记 ,对一些字符做了
PHP 处理文件上传时,先定义一个和 Web 表单中上传文 特殊处理。HTML 的语法决定这些“特殊”字符的意义 。例如
(
件变量同名的全局变量 ,然后将该全局变量当作文件名 ,在服 ”< ”符号表示是 HTML 标记的开始 其他字符 HTML 语言中
务端的默认临时目录建立一个和上传文件内容一致的文件。 的意义 ,可参见[3 ]) 。HTML 标记能够影响到页面的格式化
(
但是 PHP 自身不会对文件名进行检测 ,也不会检查它是否是 输出, 也可能会 引入一段浏览器 能够执行 的程序 如
)
刚上传的文件。若服务器脚本程序也不对上传文件进行检 < SCRIPT > 可以引入多种脚本语言 。许多网站建设中使用
查 ,则恶意的用户可利用这一点,修改甚至删除重要数据文 了动态网页 ,这些动态网页是由某些服务器进程生成的,可根
件 ,举例如下: 据用户设置和需要在提交时表现出不同的行为和产生不同的
< form method = "post" name = "fileupload" action = "upload.php" > 显示 ,但是网站不能完全控制客户机的输出。如果含有“特
/ / 恶意用户输入网站首页作为上传文件名 殊”字符的不可信数据被引入到动态页面中,则网站和客户机
< input type = " hidden" name = "filename" value = "/ 都没有足够的信息识别这种情况的发生并采取保护措施。客
index.php" > 户机浏览器会将含有“特殊”字符的数据理解成 HTML 标记 ,
< input type = " submit" name = "upload-file" value = "Upload" > 甚至会将执行< script > 中的脚本 ,而不是将这些数据作为文
在“upload.php ”中有如下语句: (
本显示。这就是文献[4 ]称为“跨站点脚本编制”CSS ,也称为
< ?php )
“XSS”的威胁。
if ( $upload-file & && $filename- size < 100000) CSS 能在用户毫无知觉的情况下执行恶意脚本 ,窃取用
{ copy ( $filename ,’ data/ ’) ;
户的 cookie ,或将用户连接到攻击者选择的恶意服务器上。
unlink ( $filename) ;
PHP 作为在电子邮件、留言版、论坛和电子商务等网站广泛应
}
用的动态网页技术 ,同样也处于 CSS 的攻击威胁之下。
?>
假设一个攻击者编制了如下代码,发表在某论坛的帖子中:
本次程序运行的结果是 ,
< a href = " ? mess = < script > 恶意
已被移动至目录“data/ ”。
代码< / script > " > 请点击< / a >
解决方法:文献[2 ] 中提出解决此类问题的一种方法 ,即
当论坛的某个用户无意点击了这个链接 ,发送给forum.
(
PHP 脚本在文件上传后用 move-uploaded-file 函数 在 PHP 4.
com 的URL 就包含了上述恶意代码 , 当论坛服务器把包括
0. 3 之前的版本 ,可用 copy 和 is-uploaded-file 两个函数代替)
mess 值的网页发送给该用户时,用户的机器就可能会执行该
判断文件是否是新上传的文件 ,并采取必要的操作 ,要么将该
恶意代码。
文件从临时目录中删除,要么将其移动到其他地方。
旗下_E网中国(#) ,专业做网站、网站建设。从事网络信息化建设应用,提供网站建设、网页设计、域名、空间租用、模板定制、平面设计、网络推广、搜索优化等服务等。
郑州亚龙软件有限公司(www.yeloon.com),从事网络、软件信息化建设应用,专注软件开发、软件定制、ERP系统、进销存管理系统、客户关系管理系统等服务。基于互联网络,我们为您提供全面的电子商务咨询与解决方案。
公司自主研发的产品有:ERP系统,客户关系管理(CRM)系统,进销存管理系统,学校收费管理系统。
地址: 郑州市东风路天明路交叉路口向东天明森林国际公寓1号楼6层
客服QQ: 3711121,999706,80031367
联系电话: 0371-55512385,55512365,88886548