跨站脚本攻击(XSS)初探(一)

2 篇文章 0 订阅
1 篇文章 0 订阅

起因:突然觉得不该把人生全压在考研之上,毕竟万一没考上。。那就只能社招了,就当学点课外东西,休闲放松。

下面开始正题:

一.XSS由来:

我刚开始的时候很奇怪,为什么叫XSS,因为跨站脚本攻击英文是Cross Site Script,那不应该是CSS吗,后来查了一下是为了和三剑客(HTML,CSS,JS)里的CSS相互区别,所以就叫XSS了。

顾名思义:在web安全里,XSS通常是通过网页标记语言(通常是HTML)注入修改了网页,插入脚本,破坏原有正常的功能。可能是只能搞自己当前的网页,也可能是可以攻击所有用户的,举个例子:比如一个能提交评论没有做任何安全措施的网站,当一个用户上传了一个恶意的脚本作为评论并且通过服务端,其他任何用户都可以加载这个评论,在加载这个评论时候,就执行了这个恶意的脚本。导致所有用户都。。你懂得。

二.前置技能:

1.扎实的JavaScript功底,还会一些像隐式转换这种的,基本上是用最短的JS,实现最多的功能那种。

2.当然还要对Web间的各种数据交互,开发过程有一定的了解。

3.脑洞。脑洞一定要大。

三.XSS分类:

根据效果分大致可以分成两类:

1.反射型:

说定义就不说了,举个例子,就是需要把用户的数据反射给浏览器,一般可以放一个钓鱼网站让别人来点,从而获取一些数据。显然这个东西是Non-persistent的。

其中有一个特殊的,经常被单独讨论,叫做基于DOM的XSS攻击。

JS学的不错的话应该知道什么意思了,就是修改DOM节点的XSS攻击。

2.存储型:

这种顾名思义,就是把攻击脚本存到服务器去,让他人在无意中浏览这段脚本时候被攻击到。这种显然比上种来说是persistent的。

四.攻击角度:

1.登陆凭证劫持攻击:

原理

做过网站的应该都知道,我们与后台交互一般都是使用一个凭证的,这个凭证,可能是cookie中保存的,可能是storage存的,也可能是放在header里的一个token令牌,如果没有作额外的校验的话,外人一旦得到这个token,是可以直接绕开登陆这个过程进入用户操作的。

具体

凭证具体在哪,在控制台打出这个就有了,拿百度举例。

怎么用得到的cookie登陆

向请求的地方把cookie替换,然后会返回对应HTML代码,将这个代码复制到本地打开即可。

如何预防

常用做法用HttpOnly,还有的和IP绑定等等操作。

被上述预防之后还能这个劫持还有意义吗

这个问题其实是肯定的。。矛盾在马克思主义唯物辩证法下可是发展的动力啊。。就算我不能直接用这个凭证绕过登陆,我就不能直接用请求去操作吗?用过postman做开发接口测试的人应该都懂。。只要构造一个适当的请求,还是可以进行一些操作的,比如举个简单的例子:

假设我已经获得了一个人QQ邮箱的凭证,我可以先用自己的邮箱删除一个邮件,在Chrome的控制台的Network里看到发请求的各种操作。

然后用postman还是自己写JS还是别的什么工具都无所谓,直接把凭证替换,构造对应的参数就可以删掉了。

也许有人会说,那怎么要删的邮件id呢。。

这个其实也简单。。正常登陆进去,邮件id也是前端发请求,后台发给前端的,我们之间可以通过构造这个请求获取到一系列的邮件id。。甚至可以用查看邮件详情的接口,获取到对应的邮件内容,从而窃取相关内容。

当然了,实际不是那么简单的这是理想化的状态。

 

这篇就这么多了,下次有机会继续。

       Life shouldn't be at the mercy of fate.The more you lost,the more you will get.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值