锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

渗透测试 ( 0 ) --- XSS、CSRF、文件上传、文件包含、反序列化漏洞

时间:2022-09-25 05:00:00 连接器df1ecc08连接器

1、渗透测试 实用 浏览器插件

chrome、edge 插件:搜索 cookie,安装 cookie editor,可以打开插件 导出 cookie

对于 Chrome 有两种方法可以下载插件:

  • 方法 1:应用商店搜索插件,安装
  • 方法 2:使用 edge 下载插件,找到插件目录,然后导入 Chrome

常见 web 攻击

常见的web攻击与预防:https://cloud.tencent.com/developer/article/1592289

十种常见的web攻击:https://zhuanlan.zhihu.com/p/140932186

XSS
CSRF
SQL 注入
上传文件中的漏洞
命令行注入
DDoS 攻击

  • SYN Flood 攻击、
  • ACK Flood 攻击、
  • UDP Flood 攻击、
  • ICMP Flood 攻击、
  • CC 攻击、
  • DNS Flood、
  • HTTP 慢速连接攻击
  • 等等

流量劫持 --- DNS 劫持
流量劫持 --- HTTP 劫持
服务器漏洞 --- 越权操作漏洞
服务器漏洞 --- 漏洞遍历目录
服务器漏洞 --- 物理路径泄露
服务器漏洞 --- 源代码暴露漏洞

kali 内网穿透 横向渗透
网络服务:web、ftp、mysql、rdp、等
web 漏洞多,成功获得权限的概率更高
owasp top 10
网络服务:
1. 爆破 (administrator、linux、root) 密码
2. 漏洞利用 ( exp、msf )
3. 欺骗 ( DNS欺骗 )
4. 钓鱼

2、XSS : Cross Site Script

相关知识

http 协议
客户端的 cookie
服务端的 session
JavaScript 操作 cookie
将脚本注入网页 xss
获得 cookie 发送邮件
xss 靶场练习
xss 平台搭建
xss 检测和利用
xss 防御方法
xss 闯关游戏

OWASP TOP 10(二)XSS漏洞(概述,PoC、绕过分类、结构、变形,XSS-Filter、xsser、xsstrike):https://blog.csdn.net/weixin_45677119/article/details/111164997

XSS 定义、原理

https://www.bilibili.com/video/BV1jL4y1j7i6?p=7

跨站脚本(英语:Cross-site scripting,一般简称:XSS)是网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户在网页上注入代码,其他用户在观看网页时会受到影响。这类攻击通常包含了 HTML 以及用户端脚本语言。 XSS 攻击通常是指利用网页开发中留下的漏洞将恶意指令代码注入网页,使用户能够加载并执行攻击者恶意制作的网页程序。这些恶意的网页程序通常是 JavaScript,但也可以包括 Java,VBScript,ActiveX,Flash 甚至是普通的 HTML。攻击成功后,攻击者可能会获得更高的权限(如执行某些操作)、私人网页内容、会话和 cookie 等等各种内容。

简而言之,目前的网页基本上是由 html css javascript 一般用户输入文本信息,而黑客输入的内容可能是 javascript 当用户访问页面时,代码就会执行,此时就会达到攻击的目的。

一句话总结:操纵用户客户端执行任意js脚本,脚本能实现什么功能,xss 你能做什么

注意:cookie 不能跨域名

一个 XSS 攻击的示意:

上图先使用 Chrome 浏览器进行正常和非正常留言,Chrome 浏览器自动检测出 XSS 攻击,屏蔽了请求。然后打开 IE8,执行同样的操作,IE8 成功受到了攻击。

以上 GIF 所展示的,是一个用户将文本框的信息提交 form 表单到后台,后台反馈到前台进行留言展示的场景。表单提交代码如下:


{ {text | safe}}

前台表单提交到后台服务器,可以直接使用 form 表单提交,也可以使用 ajax 提交的方式。后台代码可以选择任意语言实现( java、php 或者 nodejs 等均可 ),这里使用的 nodejs 代码,thinkjs3 的框架,后台代码如下:

//index.js
const Base = require('./base.js');
 
module.exports = class extends Base {
    indexAction() {
        if(this.isGet) {
                        //如果是Get请求,直接显示前台页面
            return this.display();
        } else if(this.isPost) {
                        //如果是Post请求,赋值nunjucks模板中的text变量,再进行页面展示
            let post = this.post();
            this.assign("text", post.text);
            return this.display();
        }
    }
};

这里只是一个比较轻微的弹出警告框的攻击,但如果攻击代码是:

则会将用户的 cookie 信息发送到黑客那里,而用户的 cookie 信息中很可能含有用户名和密码等重要信息,后果不堪设想。

XSS 基本分类

1. 存储型 xss

2. 反射型 xss

3. Dom 型 xss

4. Self 型 xss

存储型和反射型

  • 存储型 XSS:存储型XSS,持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户访问该页面的时候触发代码执行。这种XSS比较危险,容易造成蠕虫,盗窃cookie(虽然还有种DOM型XSS,但是也还是包括在存储型XSS内)。

  • 反射型 XSS:非持久化,需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面。

XSS 靶场 ( DVWA、pikachu、在线靶场 )

​DVWA 靶场安装和设置:https://www.bilibili.com/video/BV1jL4y1j7i6?p=9
pikachu 靶场安装和设置 ( 
https://www.bilibili.com/video/BV1jL4y1j7i6?p=10 ),把 ip 地址改成自己服务器的 ip  

​在线 靶场 ( 网上有很多在线靶场 ):https://xss.angelo.org.cn/level1.php?name=test
xss 靶场大通关:
https://www.cnblogs.com/cute-puli/p/10834954.html

XSS payload

关键字:xss payload

XSS payload:https://www.jianshu.com/p/0cb3d4354c85

XSS payload 大全:https://www.cnblogs.com/xiaozi/p/7268506.html

cookie 攻击 payload 

钓鱼 攻击 payload

记录键盘 攻击 payload

长度限制


\...

jquery sourceMappingURL

图片名

">.gif

过期的 payload

  • src=javascript:alert 基本不可以用
  • css expression 特性只在旧版本 ie 可用

css


markdown

[a](javascript:prompt(document.cookie))
[a](j    a   v   a   s   c   r   i   p   t:prompt(document.cookie))
<javascript:alert('XSS')>
![a'"`οnerrοr=prompt(document.cookie)](x)
[notmalicious](javascript:window.οnerrοr=alert;throw%20document.cookie)
[a](data:text/html;base64,PHNjcmlwdD5hbGVydCgveHNzLyk8L3NjcmlwdD4=)
![a](data:text/html;base64,PHNjcmlwdD5hbGVydCgveHNzLyk8L3NjcmlwdD4=)

iframe