专栏名称: 程序猿
本微信公众号:imkuqin,为程序员提供最新最全的编程学习资料的查询。目前已经开通PHP、C/C++函数库、.NET Framework类库、J2SE API查询功能。
目录
相关文章推荐
OSC开源社区  ·  Gitee ... ·  2 天前  
程序员小灰  ·  你的技术栈,还能撑几年? ·  2 天前  
京东零售技术  ·  在京东 探索技术的无限可能 ·  4 天前  
51好读  ›  专栏  ›  程序猿

Web前端攻防,一不小心就中招了

程序猿  · 公众号  · 程序员  · 2017-03-12 23:01

正文

请到「今天看啥」查看全文



03-

XSS Auditor


xss auditor是Chrome 和 Safari中内建的一个防御xss攻击的功能模块,相当于一个审计器,有预设规则,主要功能就是针对上述这种情况。此功能默认是开启的,当然也可以关闭,需要在response header中显式指定:

//关闭 xss auditor

X-XSS-Protection: 0

当然,更强大的是,触发后还可以将详情上报,便于分析跟踪:

X-XSS-Protection: 1; report=http://example.com/your_report_URI

也可以使用block模式:一旦触发,当前页面就会终止,并同时展示一个空白页面给用户:

X-XSS-Protection: 1; mode=block

如果将请求换成post,xss auditor还会被触发吗?答案是:可以!


XSS Auditor的缺点

我们将后台逻辑改一下,给每个">"后加一个分号。

if(isset($_REQUEST["wd"])) 

 $wd=str_replace(">",">;",$_REQUEST["wd"]); 

if($wd){

  echo "

关键字'$wd'搜索的结果如下:
"

?>

然后依然是之前的链接,刷新:


alert


成功了,当然本例只是一个说明,通常情况下,我们都会对用户提交的数据进行一些处理,如果这些处理导致和提交的内容不一样了,但是仍然可以执行,比如像本例一样。那么xss auditor 就无能为力了。不过xss auditor本身的智能度也挺高,像字符编码,大小写变化这种变化依然躲不过xss auditor。



04-

存储型xss


比如网站有个留言板功能,但后台未对用户输入进行过滤,攻击者可以在留言编辑框中输入:







请到「今天看啥」查看全文