漏洞重温之XSS(中)
漏洞重温之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(中)的更多相关文章
- 漏洞重温之XSS(下)
XSS总结 XSS的可利用方式 1.在登录后才可以访问的页面插入xss代码,诱惑用户访问,便可直接偷取用户cookie,达到窃取用户身份信息的目的. 2.修改昵称,或个人身份信息.如果别的用户在登录状 ...
- 漏洞重温之XSS(上)
漏洞简介 跨站脚本攻击(XSS)是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览页面之时,嵌入web网页中的script代码会被执行,从而达到恶意攻击用户的目的. XSS漏洞通常是通过 ...
- [80Sec]深掘XSS漏洞场景之XSS Rootkit
顶80SEC的牛. 深掘XSS漏洞场景之XSS Rootkit[完整修订版] EMail: rayh4c#80sec.com Site: http://www.80sec.com Date: 2011 ...
- 漏洞重温之sql注入(五)
漏洞重温之sql注入(五) sqli-labs通关之旅 填坑来了! Less-17 首先,17关,我们先查看一下页面,发现网页正中间是一个登录框. 显然,该关卡的注入应该为post型. 直接查看源码. ...
- 漏洞重温之sql注入(六)
漏洞重温之sql注入(六) sqli-labs通关之旅 Less-26 进入第26关,首先我们可以从网页的提示看出本关是get型注入. 我们给页面添加上id参数后直接去查看源码. 需要关注的东西我已经 ...
- 漏洞重温之sql注入(七)
漏洞重温之sql注入(七) sqli-labs通关之旅 Less-31 首先,进入31关,我们先添加上id参数. 然后,我们查看源码. 我们门可以看到,index页面源码其实很简单,网页也没有对我们的 ...
- SQL点滴2—重温sql语句中的join操作
原文:SQL点滴2-重温sql语句中的join操作 1.join语句 Sql join语句用来合并两个或多个表中的记录.ANSI标准SQL语句中有四种JOIN:INNER,OUTER,LEFTER,R ...
- 漏洞重温之文件上传(FUZZ)
文件上传FUZZ思路通关upload-labs Pass-16 黑盒阶段 进入第十六关,首先我们能看到,该页面的上传点为图片上传. 首先,先把对方想的简单一点,这里虽然是上传图片,但是可能只是前端js ...
- xss中shellcode的调用
shellcode就是利用漏洞所执行的代码 在完整的xss攻击之中,会将shellcode存放在一定的地方,然后触发漏洞,引发shellcode. 1.远程调用执行js 可将js代码单独放在一个js文 ...
随机推荐
- /dev/mapper/VolGroup00-LogVol00 满了,根目录存储垃圾文件导致磁盘满了
登录系统,df -H 发现磁盘存储快满了 解决办法 1. 使用命令查出根目录下大的垃圾文件 使用 du -sh /* | sort -nr 查看根目录下的的大文件,找的不要的 rm -rf 使用 fi ...
- 使用PowerShell自动编译部署前端
前言 最近在开发一套管理系统,做了前后端分离. 后台使用的是Asp.Net Core 3.1 前端使用的是Vue+Ant Design 自己搞了一台云服务器,打算把系统部署到云服务器上.以供外网访问. ...
- canvas使用context.drawImage时图片不在画布上展示的问题
遇到问题:找到图片img元素后,将参数传给context.drawImage(image,10,10)后图片并没有在画布上展示. 解决方案:在外层嵌套document.images[0].onload ...
- 感知机算法(PLA)代码实现
目录 1. 引言 2. 载入库和数据处理 3. 感知机的原始形式 4. 感知机的对偶形式 5. 多分类情况-one vs. rest 6. 多分类情况-one vs. one 7. sklearn实现 ...
- 题解 洛谷 P2086 【[NOI2012]魔幻棋盘】
先考虑只有一维的情况,要求支持区间加和求区间 \(\gcd\),根据 \(\gcd\) 的性质,发现: \[ \gcd(a_1,a_2,a_3,\ldots a_n)=\gcd(a_i,a_2-a_1 ...
- LeetCode 86 | 链表基础,一次遍历处理链表中所有符合条件的元素
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode专题第53篇文章,我们一起来看LeetCode第86题,Partition List(链表归并). 本题的官方难度是M ...
- Flutter获取远程数据 刷新UI界面
import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; void main() => r ...
- Java基础之函数
函数(方法)的定义: 函数就是定义在类中的具有特定功能的一段独立的小程序. 为什么有函数:为了提高代码的复用性,对独立代码进行抽取,把抽取部分代码部分,定义成一个独立的功能,方便日后使用.Java中对 ...
- smartSVN9.2.2 for mac 安装与破解
原文链接:https://www.jianshu.com/p/bb87154e0459 近段时间使用svn进行项目管理,开始使用的是cornerstone,但是用过程中出现一个操作Bug,一.在xco ...
- VMware 虚拟机开机黑屏解决方法
# 调整VMware硬盘启动优先级 第一步:打开电源时进入固件,也就是BIOS 设置界面. 第二步:找到Main-最下面的Boot-time Diagnostic Screen,敲“Enter”,弹出 ...