XXE漏洞原理及简单利用
什么是XXE
XXE注入,即XML External Entity,XML外部实体注入。通过 XML 实体,”SYSTEM”关键词导致 XML 解析器可以从本地文件或者远程 URI 中读取数据。所以攻击者可以通过 XML 实体传递自己构造的恶意值,是处理程序解析它。当引用外部实体时,通过构造恶意内容,可导致读取任意文件、执行系统命令、探测内网端口、攻击内网网站等危害。
XXE漏洞原理
XML可以从外部读取DTD文件的话,那么就可以想一下,如果把读取文件的路径换成另一个文件的路径,那么是否可以读取到这个文件。如果把路径指向一个内网端口,是否能探测内部端口。另外,服务器解析XML,要么一次性加载,要么是一部分一部分的去加载,递归调用XML定义,一次性调用超量的定义,那么服务器内存就会消耗光,造成拒绝服务攻击。
读取文件
命令执行
内网探测
DDOS攻击
钓鱼
简单XXE漏洞代码编写
常用函数介绍
file_get_contents()函数把整个文件读入一个字符串中
php://input是个可以访问请求的原始数据的只读流
1234<?php $str=f ...
浅谈CSRF漏洞原理
什么是CSRF跨站请求伪造(Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。
CSRF和XSS的区别
xss利用站点内的信任用户,盗取cookie。
csrf通过伪装成受信任用户请求受信任网站
CSRF漏洞原理一个用户正常访问登陆一个网站(A)之后,用户会存下A的cookie。当用户未退出网站并在同一浏览器中去访问恶意网站(B)。B发出向A的请求,浏览器接收到这个请求之后,会带上A的cookie去请求A。A不知道这是B的恶意请求,会根据用户的cookie信息和权限处理这个请求,这样就导致B的恶意请求被执行。
利用目标用户的合法身份,以目标用户的名义执行某些非法的操作。
eg.
假设去登陆一个网站
登陆成功之后,我们这个用户拥有更改密码的权限。
更改密码
这就是浏览正常网站的操作流程。
修改密码的链接 http://localhost//testinfo/update.php? ...
Apache Flink(CVE-2020-17518&&CVE-2020-17519)漏洞复现
漏洞描述CVE-2020-17518:通过REST API写入远程文件
影响版本:Flink 1.5.1-1.11.2
Flink 1.5.1引入了REST API,可通过修改HTTP HEADER将任意文件写入到文件系统的任意位置。
CVE-2020-17519:通过REST API读取远程文件
影响版本 Flink 1.11.0-1.11.2
Flink 1.11.0-1.11.2中引入的一项更改,允许攻击者通过JobManager进程的REST接口读取本地文件系统上的任何文件,访问仅限于JobManager可访问的文件。
环境搭建下载vulhub
1git clone https://github.com/vulhub/vulhub.git
进入目录
1cd vulhub/flink/CVE-2020-17518
安装环境
1docker-compose up -d
访问
这里版本为1.11.2
漏洞复现CVE-2020-17518复现
构造数据包
123456789101112131415POST /jars/upload HTTP/1.1Host: your ip: ...
phpstudy_nginx 解析漏洞
漏洞简介2020年09月03日,360CERT监测发现 phpstudy 发布了 phpstudy 安全配置错误漏洞 的风险通告,漏洞等级:高危,漏洞评分:7.6。
phpStudy 存在 nginx 解析漏洞,攻击者能够利用上传功能,将包含恶意代码的合法文件类型上传至服务器,从而造成任意代码执行的影响。
影响版本phpstudy:phpstudy : <=8.1.0.7
环境搭建主要是nginx配置不当造成的解析漏洞,与php、nginx版本无关,但在高版本的php中,由于“security.limit_extensions”的引入,使得该漏洞难以被成功利用。
环境配置如下(win10 + phpstudy)
写一个文件上传页面上传文件(html+php)
漏洞复现上传图片马,copy 1.jpg/b + tset.php/a webshell.jpg 这个命令制作完成后有点问题,所以直接更改php的后缀,也可以在网上找图片马。
这里得到了图片存储的路径,然后访问这张图片 http://192.168.73.146/upload/test.jpg
直接使用p ...
疫情地图_Demo
前言疫情期间的Demo,面向零基础,从代码编写到项目部署,在此记录一下学习过程,巩固一下知识。
使用到的工具如下
IDEA
阿里云服务器
代码编写java代码编写,疫情期间网上公布着世界的人数感染情况,这些数据是从何而来?网易、丁香园这些数据并不是他们自己做出来的,而是通过实时收集数据,每个省上报的人数进行统计、汇总并进行公布。这时就有了固定的数据接口供大家使用,这种API接口挺多的。
1234567891011121314151617181920212223242526272829package com.jh2ng.demo2;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.URL;import java.net.URLConnection;public class Demo1 { public static void main(String[] a ...
EVE-NG入门使用
EVE-NG介绍eve-ng模拟器是一款非常强大的模拟器,它不仅可以模拟网络设备,也可以运行虚拟机。这款模拟器可以兼容很多厂家的设备,比如华为、思科、华三等等。
EVE-NG安装
VMware
EVE-NG镜像
eve-ng官方地址(https://www.eve-ng.net/)eve-ng中文网地址(http://eve-ng.cn/doku.php)
这里我使用的是汉化版,直接下载 EVE-NG汉化版
直接点击ovf文件开启虚拟机
虚拟机的配置根据自己需求进行配置(虚拟化功能需要打开)
开启虚拟机
访问ip地址
安装完成
EVE-NG配置中文网下载EVE-NG-Win-Client-Pack文件安装之后就可以配置设备和抓包
汉化版的集成镜像
Dynamips
C1710
C3725
C7200
IOl
L2
L3
添加镜像
设备镜像
文件上传工具
ssh工具
先用ssh连接后执行 /opt/unetlab/wrappers/unl_wrapper -a fixpermissions 命令修正镜像权限再使用上传工具上传镜像
...
XML入门
什么是XMLExtensible Markup Language 可扩展标记语言。主要用于存储数据。
基本语法
xml文档的后缀名 .xml
xml第一行必须定义为文档声明
xml文档中有且仅有一个根标签
属性值必须使用引号引起来
标签必须正确关闭
xml标签名称区分大小写
1234567891011<?xml version="1.0" encoding="utf-8" ?><Persons> <Person number="1"> <name>张三</name> <age>17</age> </Person> <Person number="2"> <name>李四</name> <age>18</age> </Person></Persons> ...
连接池的基本使用
c3p0 的使用C3P0 是一个开源的 JDBC 连接池它实现了数据源和 JNDI 绑定,支持 JDBC3 规范和 JDBC2 的标准扩展。目前使用它的开源项目有Hibernate、Spring等。
1、jar 包的导入前两个 jar 包是 c3p0 必须使用的包,最后一个包是 MySQL 连接驱动必须要使用的,只要是连接数据库都需要这个包。(只导入前两个连接数据库会失败)
2、c3p0-config.xml 文件src 目录下建立 c3p0-config.xml 或者 c3p0.properties 文件
12345678910111213141516171819202122232425262728293031<c3p0-config> <!-- 使用默认的配置读取连接池对象 --> <default-config> <!-- 连接参数 --> <property name="driverClass">com.mysql.jdbc.Driver</property> &l ...
tomcat配置及Servlet入门
Web基础web资源分为静态和动态资源,静态资源所有用户访问得到的结果都是一摸一样的,静态资源可以直接被浏览器解析。动态资源每个用户访问相同资源后,得到的结果可能不一样,动态资源访问之后,先转换成静态资源,再返回给浏览器。
什么是静动分离?动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路
为什么要静动分离?当我们去访问网站的时候,有些请求是后台处理,而有些请求则不需要后台处理,为了减少资源的访问次数,所以采用静动分离,提高网站吞吐量。
通信三要素
IP
端口
协议
常见的java服务器软件
webLogic
webSphere
JBOSS
Tomcat
tomcat 配置下载地址http://tomcat.apache.org/安装:直接解压即可 (注意:安装目录不要有中文和空格)
目录结构
启动 文件目录下的bin目录中的startup.bat文件双击运行 ,Linux有startup.sh文件出现的问题主要有运行窗口一闪而过(原因:jav ...