漏洞重温之XSS(中)


XSS挑战之旅 level8-level13

level8

第八关开局,发现button从搜索变成了友情链接,发现该页面情况跟前面不同,先右键查看代码,再进行尝试。

上测试代码,查看内容会被传输到何处。

首先,我们可以看到尖括号被转义了。其次,可以发现下方的a标签中有我们之前输入的内容。

在这种情况下,可以进行的尝试有不使用尖括号的js事件进行xss攻击。其次,可以看到,我们输入的内容可以直接传入到下方的a标签,可以尝试直接输入javascript:alert(1)尝试xss攻击。

PS:这里尝试的原因是因为在第五关的时候,可以看到,a标签的href属性可以利用javascirpt:alert(1)进行xss攻击,在第五关的时候,因为页面不存在a标签,所以我们还需要构造a标签来进行攻击。第八关,如果我们输入的内容可以直接被传送到a标签中的href属性中,那么或许可以直接利用该方式进行xss攻击。

javascript:alert(1)

第八关,通关。


level9

进入第九关,发现跟第八关类似,button内容同样为添加友情链接。进入规定步骤,右键查看网页源码。

老规矩,上测试代码。

网页没有发生任何变化,右键查看网页源码,查找问题所在。

可以看到,尖括号被转义,同时其他地方没有显示我们输入的内容。猜测可能不管我们输入什么,href属性都不会有任何更改。所以,如果这个属性认定无用,那就直接舍弃该属性,闭合之后,使用js事件来进行xss攻击。

" onclick=alert(1) "

第九关,通关。


level10

进入第十关,发现网页并不存在任何文本框,但看到url中有keyword值跟网页中显示的一样,尝试在url中插入xss攻击代码,尝试 进行xss攻击。

话不多说,上测试代码。

此处可以发现,我们更改keyword值,的确修改了网页内容,但代码却没有被执行。这表明代码肯定在什么地方出现问题。

右键查看网页源码。

从代码中可以看到,修改keyword值只是修改了网页文本中的内容,并没有在代码中有任何修改。但可以发现,相比于前面几关,第十关多了一个form表单。推测此处的xss跟该表单存在联系,尝试在url后面拼接表单中的值,尝试发现能通过前段修改的位置。

&t_link=" type="text" 1&t_history=" type="text" 2&t_sort=" type="text" 3

通过页面反馈,我们通过修改表单中的数据,的确可以成功的将代码插入到网页中,但因为我们开始是讲所有数据都尝试了,并无法确认究竟是哪个数据导致网页发生变化(PS:这里可能是一处,也可能是全部。),所以,我们直接右键查看网页源码,查找究竟是那个位置导致了网页的变化。

从这个地方,可以看到,t_sort是受我们影响的数据。所以,我们可以通过修改该位置,来完成xss攻击。

完整攻击代码

&t_sort=" type="text" onclick="alert(1)

第十关,通关。


level11

进入第十一关,发现跟该网页跟第十关类似,有了第十关的经验,所以放弃无所谓的尝试,直接右键查看网页源码。

PS:该思路是闯关思路,因为前面的经验,所以可以跳过,在正常测试过程中,建议先利用测试代码进行尝试,以找到问题所在。XSS最常用的,不是各种高级绕过,或者各种千奇百怪的XSS,而是最为基础的几种测试语句,因为这个语句,能够告诉我们这个地方应该怎么处理。所以不要看不起测试语句,一定要记住,任何情况都能写出来。

跟上一关一样,该位置多了一个from表单,并且此处多了一个t_ref,作为关卡,我不认为他会凭空多出来一条没用的数据。所以,按照第十关的方式测试,但是这个时候我们只需要测试多出来的数据就好了。

网页没有发生任何变化,那肯定是代码出现了问题,右键查看网页源码,找寻问题所在。

可以看到,我们的内容,根本没有插入到代码中。这个时候,发现,t_ref的值是数据包中的referer内容,猜测该位置可能无法直接从网页中改变,而是需要通过抓包工具在数据包中修改才能达到xss攻击的目的。

" type="text" onclick="alert(1)

第十一关,通关。


level12

可以看到,该关同样没有文本框,无法让我们执行见框就插原则,又因为前面几关的经验,让我们知道修改url中的Keyword收效甚微,所以我们直接右键查看网页源码,查找可以利用的部分。

可以看到,该处表单中多了一条t_ua,根据后面的数据,我们可以猜测到数据里面里面的内容为我们访问的UA(User-Agent)简单来理解,就是我们访问服务器的时候,PC的版本,系统,浏览器的版本等信息。

根据十一关的经验,猜测该位置可能需要替换t_ua的value来完成xss攻击。

上抓包工具

可以看到,在我们修改掉UA后,网页内容也发生了改变。

十二关,通关。


level13

第十三关,可以看到,该页面同样不存在文本框,直接右键打开查看源码。

可以发现,这时候表单里面多的内容为t_cook,根据前面几关的联想,可以猜测,该位置,是利用数据包中的cookie进行xss,攻击。

直接请上抓包工具。

PS:经过测试,前方的ctduid可以直接删除,对于我们的xss攻击并无任何影响,但是必须要留下user。经过猜测,可能cookie是网站识别我们的凭证,如果我们凭证中什么都没有,那么可能会导致利用cookie进行xss的想法失效。

第十三关,通关。


漏洞重温之XSS(中)的更多相关文章

  1. 漏洞重温之XSS(下)

    XSS总结 XSS的可利用方式 1.在登录后才可以访问的页面插入xss代码,诱惑用户访问,便可直接偷取用户cookie,达到窃取用户身份信息的目的. 2.修改昵称,或个人身份信息.如果别的用户在登录状 ...

  2. 漏洞重温之XSS(上)

    漏洞简介 跨站脚本攻击(XSS)是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览页面之时,嵌入web网页中的script代码会被执行,从而达到恶意攻击用户的目的. XSS漏洞通常是通过 ...

  3. [80Sec]深掘XSS漏洞场景之XSS Rootkit

    顶80SEC的牛. 深掘XSS漏洞场景之XSS Rootkit[完整修订版] EMail: rayh4c#80sec.com Site: http://www.80sec.com Date: 2011 ...

  4. 漏洞重温之sql注入(五)

    漏洞重温之sql注入(五) sqli-labs通关之旅 填坑来了! Less-17 首先,17关,我们先查看一下页面,发现网页正中间是一个登录框. 显然,该关卡的注入应该为post型. 直接查看源码. ...

  5. 漏洞重温之sql注入(六)

    漏洞重温之sql注入(六) sqli-labs通关之旅 Less-26 进入第26关,首先我们可以从网页的提示看出本关是get型注入. 我们给页面添加上id参数后直接去查看源码. 需要关注的东西我已经 ...

  6. 漏洞重温之sql注入(七)

    漏洞重温之sql注入(七) sqli-labs通关之旅 Less-31 首先,进入31关,我们先添加上id参数. 然后,我们查看源码. 我们门可以看到,index页面源码其实很简单,网页也没有对我们的 ...

  7. SQL点滴2—重温sql语句中的join操作

    原文:SQL点滴2-重温sql语句中的join操作 1.join语句 Sql join语句用来合并两个或多个表中的记录.ANSI标准SQL语句中有四种JOIN:INNER,OUTER,LEFTER,R ...

  8. 漏洞重温之文件上传(FUZZ)

    文件上传FUZZ思路通关upload-labs Pass-16 黑盒阶段 进入第十六关,首先我们能看到,该页面的上传点为图片上传. 首先,先把对方想的简单一点,这里虽然是上传图片,但是可能只是前端js ...

  9. xss中shellcode的调用

    shellcode就是利用漏洞所执行的代码 在完整的xss攻击之中,会将shellcode存放在一定的地方,然后触发漏洞,引发shellcode. 1.远程调用执行js 可将js代码单独放在一个js文 ...

随机推荐

  1. solr8.4.1开发测试环境的简单应用

    服务器部署   官网地址 https://lucene.apache.org/solr/  从官网下载http:/ /mirror.bit.edu.cn/apache/lucene/solr/8.4. ...

  2. 带你上手阿里开源的 Java 诊断利器:Arthas

    本文适合有 Java 基础知识的人群. 本文作者:HelloGitHub-秦人 HelloGitHub 推出的<讲解开源项目>系列,今天给大家带来一款阿里开源的 Java 诊断利器 Art ...

  3. Maven原理学习

    文章目录 一.Maven概述 二.maven依赖管理 三.maven文件结构 四.maven仓库的种类以及彼此联系 五.maven标准目录结构 六.mvn命令 七.maven生命周期 八.maven的 ...

  4. idea 导入eclipse play1.2.7项目

    1.play eclipsify #myapp 转为eclipse目录结构 2.导入eclipse,一路next. 3.新增个Application -Xms1536m-Xmx2048m-Xdebug ...

  5. DJANGO-天天生鲜项目从0到1-012-订单-用户订单页面

    本项目基于B站UP主‘神奇的老黄’的教学视频‘天天生鲜Django项目’,视频讲的非常好,推荐新手观看学习 https://www.bilibili.com/video/BV1vt41147K8?p= ...

  6. hdu6755 Mow

    半平面交+数组模拟双端队列 人生第一次代码过两百行啊...加油加油 #include<iostream> #include<algorithm> #include<cma ...

  7. pandas属性和方法

    Series对象的常用属性和方法 loc[ ]和iloc[ ]格式示例表 Pandas提供的数据整理方法 Pandas分组对象的属性和方法 date_range函数的常用freq参数表

  8. c++ 第一天 变量、判断、循环

    C++介绍 语言的产生 C++ 由 Bjarne Stroustrup 于 1979 年在贝尔实验室开始设计开发的,由于C++ 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言 ,所以最初命 ...

  9. 比较两个等长的字符串,若相同,则输出Match!,若不同,则输出No Match!

    文章目录 问题 代码 运行结果 问题 比较两个等长的字符串,若相同,则输出Match!,若不同,则输出No Match! 代码 data segment str1 db 'ASDFGHJKL';字符串 ...

  10. Javascript 模块化概述

    模块化的目的 当网站开发得越来越复杂,会经常遇到以下问题: 命名冲突 文件依赖 Sea.js 一个适合web前端的模块加载器,遵守 CMD (Common Module Definition)模块定义 ...