Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1551729
  • 博文数量: 157
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 4116
  • 用 户 组: 普通用户
  • 注册时间: 2013-06-14 18:26
文章分类

全部博文(157)

文章存档

2014年(67)

2013年(90)

分类: 网络与安全

2013-07-25 10:39:26

XSS 全称为 Cross Site Scripting,用户在表单中有意或无意输入一些恶意字符,从而破坏页面的表现!

看看常见的恶意字符XSS 输入:

1.XSS 输入通常包含 JavaScript 脚本,如弹出恶意警告框:

2.XSS 输入也可能是 HTML 代码段,譬如:

(1).网页不停地刷新

(2).嵌入其它网站的链接


防止XSS攻击测试路径:

 

 

其实有很多测试XSS攻击的工具:

Paros proxy ()
Fiddler ()
Burp proxy ()
TamperIE ()

对于PHP开发者来说,如何去防范XSS攻击呢?(php防止xss攻击的函数)

可以用如下函数:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/**
 * @blog
 * @param $string
 * @param $low 安全别级低
 */
function clean_xss(&$string, $low = False)
{
    if (! is_array ( $string ))
    {
        $string = trim ( $string );
        $string = strip_tags ( $string );
        $string = htmlspecialchars ( $string );
        if ($low)
        {
            return True;
        }
        $string = str_replace ( array ('"', "\\", "'", "/", "..", "../", "./", "//" ), '', $string );
        $no = '/%0[0-8bcef]/';
        $string = preg_replace ( $no, '', $string );
        $no = '/%1[0-9a-f]/';
        $string = preg_replace ( $no, '', $string );
        $no = '/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]+/S';
        $string = preg_replace ( $no, '', $string );
        return True;
    }
    $keys = array_keys ( $string );
    foreach ( $keys as $key )
    {
        clean_xss ( $string [$key] );
    }
}
//just a test
$str = 'phpddt.com';
clean_xss($str); //如果你把这个注释掉,你就知道xss攻击的厉害了
echo $str;
?>

通过clean_xss()就过滤了恶意内容!
阅读(3288) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~