xss漏洞怎么验证

2021-01-15 15:50发布

4条回答

 一般XSS漏洞验证的总结,但对于DOM型的XSS漏洞接触得比较少,自己这方面的东西少得可怜,不太了解,后面还需要总结的。

几种情况验证方式:

1. 参数值放在标签属性值中:

    (1) 事件属性:可直接输入脚本验证;

    (2) style属性:通过expression引入脚本(根据是否对分号、冒号及固定结构进行过滤构造不同的结构);

    (3) 一般属性:通过引号把原属性值进行截断,构造出事件属性或style属性(如果是隐藏域的话一般构造style属性)。

2. 参数值放在普通标签(非script标签)中:

(1) 通过尖括号引入新的标签(两类:允许script、不允许script);

3. 参数值放在script标签中:

    (1) 对尖括号进行过滤:根据参数所在位置上下文结构构造数据:

        a. 未对引号、分号、逗号和冒号进行过滤:任意构造;

        b. 引号未进行过滤,分号、逗号和冒号部分过滤:根据上下文进行构造(一般先闭合原有引号)

        c. 引号进行过滤,参数放在引号中:无解;

    (2) 对尖括号不进行过滤:闭合原有script标签,引入新的script标签。

验证过滤不完全情况:

1. 黑名单过滤验证:

    (1) 对expression过滤:插入混淆字符绕过:在css中,/**/是注释字符,除了/**/外,字符”\”和结束符”\0″也是被忽略的,可以用来混淆字符(这个直接引用别人的,但验证过了,OK了);

    (2) 对于长度的限制:可通过分批加入,但要在同一页面(如:[removed]var z = z + "alert"[removed])。

2. 特殊字符过滤注意:

    (1) 对单引号进行过滤:

        a. 注入脚本实例: 

        

mouse here!

        b. 修复1:对单引号进行过滤或转义

        c. 绕过实例:

        

mouse here!

        d. 绕过原理:ASCII编码在属性值中会转为相应字符(即:' ->')。

    (2) 通过事件传递的转义字符串发生二次转义:

        a. 注入脚本实例:

       

        b. test函数接收到的字符经转义变为:[removed]alert(007)[removed]


蛋炒饭炒蛋
3楼 · 2021-01-18 10:23

确定xss漏洞的基本方法是使用攻击字符串来验证的,例如”>[removed]alert([removed])[removed]这个字符串被提交给每个应用程序的每个参数,许多扫描工具的xss自动化测试的基础规则就是这个。同时,攻击者监控这个输入的响应,如果攻击字符串原样出现在响应中,几乎可以肯定应用程序存在xss漏洞。

 

有些时候,通过上述的基本方法,可能无法确定应用程序中存在xss漏洞,需要对应用程序进行复制的测试来确认。许多应用程序实施基于黑名单的过滤,试图阻止xss攻击,通常,这些过滤在请求参数中寻找[removed]之类的表达式,并采取一些防御措施,如删除它或者进行编码转换,或者完全阻止这类请求。基本检测方法中使用的基础攻击字符串往往被这些过滤阻止了。但是,有时候,不使用script标签,也可以利用xss漏洞。


1.准备工具:BruteXSS丶火狐浏览器

BruteXSS这个工具我会打包给大家,火狐浏览器大家可以去百度自行下载。


2.要安装Python2.7环境(我会打包)


3.首先安装Python2.7环境,安装后吧我们的BruteXSS放到Administrator这个目录下。


小小123
5楼 · 2021-01-29 09:08

1.准备工具:BruteXSS丶火狐浏览器

BruteXSS这个工具我会打包给大家,火狐浏览器大家可以去百度自行下载。


2.要安装Python2.7环境(我会打包)


3.首先安装Python2.7环境,安装后吧我们的BruteXSS放到Administrator这个目录下。



相关问题推荐

  • 回答 6

    这个还是因人而异吧,看你自己对哪方面感兴趣,兴趣是最好的老师,感兴趣了才愿意钻研学习下去,简单说一下这两个学习知识方面的不同吧:软件测试岗位虽然对于从业者的知识基础要求不高,但是软件测试岗位所涉及到的知识面还是比较广的,所以软件测试人员也需...

  • 回答 5

    SQL注入漏洞的危害:1、数据库中存储的用户隐私信息泄漏;2、通过操作数据库对某些网页进行篡改;3、修改数据库一些字段的值,嵌入网马链接,进行挂马攻击;4、数据库服务器被恶意操作,系统管理员帐户被窜改;5、数据库服务器提供的操作系统支持,让黑客得以...

  • 回答 16

    一、CISP(Certified Information Security Professional)证书中文叫注册信息安全专业人员,由中国信息安全产品测评认证中心实施的国家认证。可以说,这是目前国内对于个人来说认可度最高的信息安全人员资质,堪称最权威、最专业、最系统。根据实际岗位的不...

  • 回答 14

    渗透测试(也称为pentest)是测试移动应用程序漏洞的过程。此测试的主要目的是确保外部人员的重要数据.通过模拟黑客的思维和攻击手段,对计算机业务系统的弱点、技术缺陷和漏洞进行探查评估。经过客户授权后,在不影响业务系统正常运行的条件下,渗透人员在黑...

  • 回答 1

    网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。主要涉及到的有:1、物理措施:例如,保护网络关键设备(如交换机、大型计算机等),制定严格的网络...

  • 回答 33

      网络安全工程师学习内容:  1、计算机应用、计算机网络、通信、信息安全等相关专业本科学历,三年以上网络安全领域工作经验;  2、精通网络安全技术:包括端口、服务漏洞扫描、程序漏洞分析检测、权限管理、入侵和攻击分析追踪、网站渗透、病毒木马防...

  • 回答 26

      学历不是问题,技术才是硬道理!只要你的技术过硬的话,你完全可以进国家安全部门去工作的。比如公安局里的网监工作,大都是九零后的电脑方面的精英。未必都是本科生。还有从社会上特招进去的。所以说,现在是拿技术说话,不是靠学历吃饭的时代了。  网...

  • 回答 16

    网络安全的知识是比较简单的,比较好入门,好多知识理论,大家都是可以听懂的,这是完全没有问题的。网络安全最终的则是实战的应用,怎么把这些理论知识运用到事件中,这些才是重中之重。所以在选择培训机构的时候,也需要尽量去找这些实践操作多的培训机构。...

  • 回答 22

      能够胜任的岗位主要有:渗透测试工程师、大数据安全工程师、信息安全工程师、安全测试工程师、安全服务工程师、安全运维工程师、系统安全工程师、服务器安全工程师、云计算安全工程师、网络安全工程师、安全分析师、渗透讲师等;  按照web渗透、内网渗透...

  • 回答 23

    一些典型的网络安全问题,可以来梳理一下:IP安全:主要的攻击方式有被动攻击的网络窃听,主动攻击的IP欺骗(copy报文伪造、篡改)和路由攻击(中间人攻击);2. DNS安全:这个大家应该比较熟悉,修改DNS的映射表,误导用户的访问流量;3. DoS攻击:单一攻击...

  • 回答 19

    运维一般是设备或者环境的搭建和维护,网络安全可以看做是防火墙

  • 回答 12

    先说说运维工程师和网络工程师的区别。运维工程师是泛指,网络工程师为特指,所以不能这么对比。你应该这么理解,网络工程师是一个人(也可以是理解成一个岗位),而运维则是他的工作内容。从工作内容上来说,运维可细分为桌面运维、网络运维、服务器运维三大...

没有解决我的问题,去提问