一次真实的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

相关文章

速盾高防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

[情商-13]:语言的艺术:何为真实和真相,所谓真相,就是别人想让你知道的真相!洞察谎言与真相!

目录 前言: 一、说话的真实程度分级 二、说谎动机分级:善意谎言、中性谎言、恶意谎言 三、小心:所谓真相:只说对自己有利的真相 四、小心:所谓真相:就是别人想让你知道的真相 五、小心:所谓善解人意:就是别人只说你想要听到的话 前言: 何为真实和真相,所谓真相,就是别人想让你知道的真相!洞察谎言与真相! 人与人交流话语中,处处充满了不真实,完全真实的只是其中一小部分,这

Web安全之XSS跨站脚本攻击:如何预防及解决

1. 什么是XSS注入 XSS(跨站脚本攻击,Cross-Site Scripting)是一种常见的Web安全漏洞,通过注入恶意代码(通常是JavaScript)到目标网站的网页中,以此在用户浏览网页时执行。攻击者可以通过XSS获取用户的敏感信息(如Cookie、会话令牌)或控制用户浏览器的行为,进而造成信息泄露、身份冒用等严重后果。 2. XSS攻击类型 2.1 存储型XSS 存储型XS

【前端安全】浅谈XSS攻击和防范

定义 XSS是跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。 恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。 分类 大分类小分类原理非存储DOM型① 不需要经过服务器

真实案例分享:零售企业如何避免销售数据的无效分析?

在零售业务的数据分析中,无效分析不仅浪费时间和资源,还可能导致错误的决策。为了避免这种情况,企业必须采取策略来确保他们的数据分析工作能够产生实际的商业价值。本文将通过行业内真实的案例,探讨零售企业如何通过精心设计的数据策略和分析方法,借助商业智能BI工具,避免销售数据的无效分析,确保每一次分析都能为业务增长提供有力的支持。 文章中提到的BI数据分析工具分享给大家—— https://s.fan