一次真实的XXS攻击

2023-10-18 07:18
文章标签 攻击 一次 真实 xxs

本文主要是介绍一次真实的XXS攻击,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这是一个真实的事,一家比较大的公司举办的一个全国性的投票,然而,页面确实写得很烂,做假太容易。

首先,找到投票按钮的源代码:

这里写图片描述

这个”tp”类就是投票事件的定位关键字。

然后,打开source下的源文件,搜索“.tp”:

这里写图片描述

可以看到,这就是投票事件的代码

分析源代码

//投票jq('#scrollText_01>ul li .tp').click(function () {//判断是否对此人投票var index = jq(this).parent().index();var id = index + 1;if(jq.cookie('chenyi_'+id)){alert('您已经投票,不可重复!');}else{var num = jq("#"+index).html();//点赞jq.getJSON(rootPath + "dztr/index.php?_c=dztr&_a=prized&callback=?", {"id": id,"num": num}, function (json) {var data = eval(json);var vote_num = data.prized_num;if (data.msg == 'no') {vote_num = num;alert('投票失败,请重新投!');}else{jq.cookie('chenyi_'+id, 1, { expires: 365 });}jq('#' + index).text("" + vote_num + "");});}});

很明显,它是通过cookie来判断用户的。

那不看代码,怎么猜测一个投票网站是通过哪种方式识别用户呢?
可以在一个浏览器投一次票,然后再换一个浏览器偷,如果能投,说明是通过cookie来判断用户的。如果不能,那就可能是通过ip来限制的。
通过cookie来限制的,可以删除cookie来绕过,直接在浏览器的开发工具的就可以找到和删除。但是,这种方法每投一次票就要删除一次cookie.如果刚巧这个网站又用了js来验证cookie,那么我们就可以修改验证的代码来绕过。我们知道html是事件驱动的,那么就可以从事件绑定代码入手,进行修改。
上面的网站就是犯了:1、不用登录,使用cookie识别用户投票状态 2、使用js验证cookie 两个大忌

通过分析,现将投票事件解绑:

jq('#scrollText_01>ul li .tp').off()

再重新绑定事件,把验证cookie的代码删去即可:

jq('#scrollText_01>ul li .tp').click(function () {//判断是否对此人投票var index = jq(this).parent().index();var id = index + 1;// 只需修改这里if(false){alert('您已经投票,不可重复!');}else{var num = jq("#"+index).html();//点赞jq.getJSON(rootPath + "dztr/index.php?_c=dztr&_a=prized&callback=?", {"id": id,"num": num}, function (json) {var data = eval(json);var vote_num = data.prized_num;if (data.msg == 'no') {vote_num = num;alert('投票失败,请重新投!');}else{jq.cookie('chenyi_'+id, 1, { expires: 365 });}jq('#' + index).text("" + vote_num + "");});}});

然后就可以一直点击投票,再也不会被限制了。

这篇关于一次真实的XXS攻击的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/231049

相关文章

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

web网络安全之跨站脚本攻击(XSS)详解

《web网络安全之跨站脚本攻击(XSS)详解》:本文主要介绍web网络安全之跨站脚本攻击(XSS)的相关资料,跨站脚本攻击XSS是一种常见的Web安全漏洞,攻击者通过注入恶意脚本诱使用户执行,可能... 目录前言XSS 的类型1. 存储型 XSS(Stored XSS)示例:危害:2. 反射型 XSS(Re

Python判断for循环最后一次的6种方法

《Python判断for循环最后一次的6种方法》在Python中,通常我们不会直接判断for循环是否正在执行最后一次迭代,因为Python的for循环是基于可迭代对象的,它不知道也不关心迭代的内部状态... 目录1.使用enuhttp://www.chinasem.cnmerate()和len()来判断for

电脑多久清理一次灰尘合? 合理清理电脑上灰尘的科普文

《电脑多久清理一次灰尘合?合理清理电脑上灰尘的科普文》聊起电脑清理灰尘这个话题,我可有不少话要说,你知道吗,电脑就像个勤劳的工人,每天不停地为我们服务,但时间一长,它也会“出汗”——也就是积累灰尘,... 灰尘的堆积几乎是所有电脑用户面临的问题。无论你的房间有多干净,或者你的电脑是否安装了灰尘过滤器,灰尘都

速盾高防cdn是怎么解决网站攻击的?

速盾高防CDN是一种基于云计算技术的网络安全解决方案,可以有效地保护网站免受各种网络攻击的威胁。它通过在全球多个节点部署服务器,将网站内容缓存到这些服务器上,并通过智能路由技术将用户的请求引导到最近的服务器上,以提供更快的访问速度和更好的网络性能。 速盾高防CDN主要采用以下几种方式来解决网站攻击: 分布式拒绝服务攻击(DDoS)防护:DDoS攻击是一种常见的网络攻击手段,攻击者通过向目标网

(function() {})();只执行一次

测试例子: var xx = (function() {     (function() { alert(9) })(); alert(10)     return "yyyy";  })(); 调用: alert(xx); 在调用的时候,你会发现只弹出"yyyy"信息,并不见弹出"10"的信息!这也就是说,这个匿名函数只在立即调用的时候执行一次,这时它已经赋予了给xx变量,也就是只是

flume系列之:记录一次flume agent进程被异常oom kill -9的原因定位

flume系列之:记录一次flume agent进程被异常oom kill -9的原因定位 一、背景二、定位问题三、解决方法 一、背景 flume系列之:定位flume没有关闭某个时间点生成的tmp文件的原因,并制定解决方案在博主上面这篇文章的基础上,在机器内存、cpu资源、flume agent资源都足够的情况下,flume agent又出现了tmp文件无法关闭的情况 二、

jmeter之仅一次控制器

仅一次控制器作用: 不管线程组设置多少次循环,它下面的组件都只会执行一次 Tips:很多情况下需要登录才能访问其他接口,比如:商品列表、添加商品到购物车、购物车列表等,在多场景下,登录只需要1次,我们期望的是重复执行登陆后面的接口来做压测,这就和事务相关,例如 事务1: 登录—>添加购物车 事务2: 登录—>购物车列表 事务3: 登录—>商品列表—>添加购物车 … 一、仅一次控制器案例 在

一次生产环境大量CLOSE_WAIT导致服务无法访问的定位过程

1.症状 生产环境的一个服务突然无法访问,服务的交互过程如下所示: 所有的请求都是通过网关进入,之后分发到后端服务。 现在的情况是用户服务无法访问商旅服务,网关有大量java.net.SocketTimeoutException: Read timed out报错日志,商旅服务也不断有日志打印,大多是回调和定时任务日志,所以故障点在网关和商旅服务,大概率是商旅服务无法访问导致网关超时。 后

关于一次速度优化的往事

来自:hfghfghfg, 时间:2003-11-13 16:32, ID:2292221你最初的代码 Button1 34540毫秒 5638毫秒  Button2 我的代码 这个不是重点,重点是这个  来自:hfghfghfg, 时间:2003-11-13 16:54, ID:22923085528毫秒 不会吧,我是赛杨1.1G  128M内存  w2000, delphi6  128M