无名 发表于 2022-5-8 18:56:16

网络工击之xss跨站攻击入门

XSS简介

XSS 其实是 cross-site scripting(跨域脚本攻击) 的简写。他的重点在于 跨域 以及 脚本 这两个词。为什么会产生这个攻击类型呢?最大的原因在于,网站对于用户的输入过于信任,用户输入什么都可以,服务器也不会对用户的输入进行检查,于是攻击者也便有了可乘之机。

XSS分类

XSS 的分类其实有很多,按照不同的特点进行分类,XSS都能分出很多类别来,例如:反射型XSS、存储型XSS、DOM base XSS、非DOM XSS。本文主要就反射型XSS、存储型XSS来进行讲解。

XSS攻击实施

一、确定网站存在XSS攻击漏洞

在进行XSS攻击之前,我们要确定网站存在XSS攻击漏洞,只有确定了网站存在漏洞,那么才能进行针对这个网站的攻击。一般来说,只要网站有让用户输入的地方,就会有存在漏洞的可能。最常规的做法就是,使用f12来看网站的源码,进而确定注入点在哪里,然后再看看网站是否有相应的防护措施,如果有防护措施的话,就尝试绕过这些检查。

二、构造攻击代码

1、直接输入js代码
直接输入js代码虽然很简单,但是需要注意的是,有可能你找的注入点需要截断以后才能成功注入。例如,你找到了这样的一个注入点:

如果上边的 value 刚好是你找到的注入点,那么,你在注入代码的时候,不能单纯的直接写入js代码,而是需要把value后边的内容给注释掉,类似下边的代码:

"

存在这么简单的漏洞的网站现在很少了,要想真正的实现攻击可没有这么简单。

2、利用HTML标签属性

掩饰的东西


3、利用HTML事件

1
可以利用的事件有很多,例如:onerror 、 onload 、 onsubmit 等。
4、使用字符编码

HTML编码

URL编码
http://www.xxx.com/search?a=%3Cscript%3Ealert(%22xss%E2%80%9C%EF%BC%89%3C/script%3E

5、拆分法

有的网站会对用户的输入长度做一个限制,这样的话,你可以把一段长的注入代码分成好几段,然后再去注入。大多数的网站,输入长度的限制只是在前端,这个时候我们也可以抓包,然后在包里对应的注入点把自己的代码写进去。
——Markdown的代码高亮怎么怪怪的。。。
http://cdn.u1.huluxia.com/g3/M03/CF/61/wKgBOV2PVeyAM-a8AAA0AE1X7pg473.jpghttp://cdn.u1.huluxia.com/g3/M03/CF/61/wKgBOV2PVe2AECcnAAC8ABBzeJM708.jpghttp://cdn.u1.huluxia.com/g3/M03/CF/61/wKgBOV2PVe6ATTzYAAHoAHcd9dY200.jpghttp://cdn.u1.huluxia.com/g3/M03/CF/61/wKgBOV2PVe6AJlFRAAFsAH7SyUI175.jpg
页: [1]
查看完整版本: 网络工击之xss跨站攻击入门