찬성
반대
2
모으다
신고
공유하다

网络渗透测试心得 XSS篇
이 글에서 언급된 실행 파일은 모바일(Android, iOS, HarmonyOS 등) 또는 기타 플랫폼에서 JoiPlayer 에뮬레이터 플러그인이 필요할 수 있습니다. 필요한 경우 VikACG 앱 내 자주 사용하는 플러그인 미니 프로그램에서 필요한 플러그인이나 기능을 다운로드하세요.
最近工作较为繁忙,抽出时间写的xss篇 或许有所欠缺
XSS
XSS原理
反射型
用户提交的数据中可以构造代码来执行,从而实现窃取用户信息等攻击。需要诱使用户“点击”一个恶意链接,才能攻击成功
储存型
存储型XSS会把用户输入的数据“存储”在服务器端。这种XSS具有很强的稳定性。
DOM型
通过修改页面的DOM节点形成的XSS,称之为DOM Based XSS。
DOM型和反射型的区别
反射型XSS:通过诱导用户点击,我们构造好的恶意payload才会触发的XSS。反射型XSS的检测我们在每次请求带payload的链接时页面应该是会带有特定的畸形数据的。DOM型:通过修改页面的DOM节点形成的XSS。DOM-based XSS由于是通过js代码进行dom操作产生的XSS,所以在请求的响应中我们甚至不一定会得到相应的畸形数据。根本区别在我看来是输出点的不同。
DOM型XSS 自动化测试或人工测试
人工测试思路:找到类似document.write、innerHTML赋值、outterHTML赋值、window.location操作、写javascript:后内容、eval、setTimeout 、setInterval 等直接执行之类的函数点。找到其变量,回溯变量来源观察是否可控,是否经过安全函数。自动化测试参看道哥的博客,思路是从输入入手,观察变量传递的过程,最终检查是否有在危险函数输出,中途是否有经过安全函数。但是这样就需要有一个javascript解析器,否则会漏掉一些通过js执行带入的部分内容。
在回答这段问题的时候,由于平时对客户的检测中,基本是凭借不同功能点的功能加上经验和直觉来进行检测,对不同类型的XSS检测方式实际上并没有太过细分的标准化检测方式,所以回答的很烂。。。
如何快速发现xss位置
对于XSS怎么修补建议
输入点检查:对用户输入的数据进行合法性检查,使用filter过滤敏感字符或对进行编码转义,针对特定类型数据进行格式检查。针对输入点的检查最好放在服务器端实现。
输出点检查:对变量输出到HTML页面中时,对输出内容进行编码转义,输出在HTML中时,对其进行HTMLEncode,如果输出在Javascript脚本中时,对其进行JavascriptEncode。对使用JavascriptEncode的变量都放在引号中并转义危险字符,data部分就无法逃逸出引号外成为code的一部分。还可以使用更加严格的方法,对所有数字字母之外的字符都使用十六进制编码。此外,要注意在浏览器中,HTML的解析会优先于Javascript的解析,编码的方式也需要考虑清楚,针对不同的输出点,我们防御XSS的方法可能会不同,这点可能在之后的文章会做下总结。
除此之外,还有做HTTPOnly对Cookie劫持做限制。
XSS蠕虫的产生条件
正常情况下,一个是产生XSS点的页面不属于self页面,用户之间产生交互行为的页面,都可能造成XSS Worm的产生。不一定需要存储型XSS
선언본 사이트의 모든 글은 특별한 설명이나 표기가 없는 한 모두 본 사이트의 원본 발행물입니다. 개인이나 조직은 UP주의 동의 없이 본 사이트의 콘텐츠를 웹사이트, 서적 등 각종 미디어 플랫폼에 복사, 도용, 수집, 발행하는 것을 금지합니다. 본 사이트의 콘텐츠가 원저자의 정당한 권익을 침해했다면 처리를 위해 연락 주시기 바랍니다: DMCA 신고













이 남자는 매우 부끄러워 보인다 (Bushi
이 남자는 매우 부끄러워 보인다 (Bushi