xiaodi



## ·域名的概念

万网等三方软件注册域名
FQDN=主机名+域名
二级域名,三级域名...
域名的发现对于安全测试的意义:帮助我们在安全测试的时候来发现通个服务器的多个服务,
例如通个服务器发布的主站和从站,我们可以通过从站的漏洞来间接渗透主站


·dsn服务
正向解析:将域名解析成为IP地址
反向解析:将IP地址解析成为域名


本地host文件
ping域名的时候会首先检测本地hosts文件中是否存在该dns解析,如果有的话,则直接返回相应的ip地址,反之则访问指定好的dns服务器,且当dns服务器返回ip地址之后,本地hosts文件会学习这条ip解析。

CDN:
缓存节点技术
超级ping



常见dns攻击
1:dns投毒
2:dns劫持

常见的脚本语言
1:php
2:  java
3:  asp
4:  jsp
后门
什么时候们:攻击者留下的webshell,用于下次入侵提权,由基于网站的,有基于微web前端的,有基于服务器的。可以将后门想象成一个管道,方便入侵者的提权。

后门免杀

Web
Web组成:网站源码:
          操作系统:windows  linux
          中间件  :apache  iis  tomcat nginx
          数据库  :mysql   sqlserver   Oracle db2



网站源码漏洞
Sql注入   文件上传  xss  代码执行  变量覆盖  逻辑的漏洞 反序列化
网站的架构和app上的架构都是大致相似的 ,,二者的漏洞是相通的。

中间件漏洞

数据库漏洞

系统层面的漏洞

第三方软件应用的漏洞




## http/https

代理:存在于客户端和服务器端之间,可存在数据篡改和截取的威胁
http:超文本传输协议
https:加了密的超文本传输协议

Request 请求  :请求方式   请求文件   版本
post请求     
response相应:状态行 ,相应头标,空行,响应数据

**http的请求方式一共有八种**
1、OPTIONS
返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性
2、HEAD
向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。
3、GET
向特定的资源发出请求。注意:GET方法不应当被用于产生“副作用”的操作中,例如在Web Application中,其中一个原因是GET可能会被网络蜘蛛等随意访问。Loadrunner中对应get请求函数:web_link和web_url
4、POST
向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 Loadrunner中对应POST请求函数:web_submit_data,web_submit_form    其请求的内容体放在数据包的后面
5、PUT
向指定资源位置上传其最新内容
6、DELETE
请求服务器删除Request-URL所标识的资源
7、TRACE
回显服务器收到的请求,主要用于测试或诊断
8、CONNECT
HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。

**两种请求的数据包格式**
![请求数据包截图](https://img-blog.csdnimg.cn/20210714183444558.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)
![response数据包格式](https://img-blog.csdnimg.cn/20210714183624801.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)
## http状态码
1xx:收到请求,继续处理  存在
2xx:访问成功                      存在
3xx:重定向                          不一定
4xx:客户端错误               403 存在   404  不存在
5xx:服务器错误                不存在


御剑:根据返回来的状态码来判断文件是否存在

## burpsuit抓包工具

 1. 抓包代理工具,当设置了代理后,浏览器访问网络时其数据都会先交给burpsuit,再由burpsuit决定是否放行数据包。返回的数据包也要经过代理。
 *ps:只有方向了数据包,浏览器才能访问到资源,否则就会一直加载*
 
 2. 某些网站在访问的时候会获取我们的个人电脑信息,而这些电脑信息都是通过数据信息来传输的,因此我们就可以通过burpsuit的抓包工具来进行伪装



## 案列1  用浏览器来访问app访问的页面
有些网站时不允许浏览器访问的,但是他能通过app来访问,通过burpsuit抓包我们可以看件二者的请求数据包是很不一样的,因此我们可以在电脑上安装一个模拟器,来通过app访问页面,并抓取到app的数据请求数据包,将其复制下来,再将其复制到浏览器的请求包中,以此来伪造自己的身份,已成功访问到目标页面

## CTF或案例分析
在线靶场:www.mozhe.cn     墨者学院

身份信息伪造      经agent的信息修改成iphone  2g

伪造浏览器信息    将数据包中的refer修改成google

修改请求方式    将get的请求方式修改成post方式 ,并且将content的内容复制到请求书数据包的最后面

投票系统缺陷   通过伪造IP地址来实现


##day03
常见搭建平台脚本启用


 1. 域名/IP解析安全问题

大多数情况下,我们通过域名来访问网站时,都是访问呢到的www/blog目录,但如果通过ip地址来访问网站时都是访问到的www目录中的某个默认页面

 1. 常见的后缀名解析对应的安全问题

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210715175830458.png)

网站上的ISAPI扩展决定了网站能解析那些文件后缀名

常见测试中的安全问题
网站访问时的匿名访问


https://www.vulhub.org     漏洞测试网站



## day04  web源码拓展
前言: WEB源码在安全测试中是非常重要的信息来源,可以用来代码审计漏洞也可以用来做信息突破口,其中WEB源码有很多技术需要简明分析。比如:获取某ASP源码后可以采用默认数据库下载为突破,获取某其他脚本源码漏洞可以进行代码审计挖掘或分析其业务逻辑等,总之源码的获取将为后期的安全测试提供了更多的思路。

√关于WEB源码目录结构
√关于WEB源码脚本类型
√关于WEB源码应用分类
√关于WEB源码其他说明


![在这里插入图片描述](https://img-blog.csdnimg.cn/20210715191301380.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)







不同的网站源码有不同的安全漏洞,不同的应用目的也有不同的漏洞,不同的框架有不同的漏洞


数据库配置文件:用于网站和数据库之间相互数据交流

源码获取途径:淘宝,咸鱼,搜索,第三方源码

总结:关注应用分类及脚本类型估摸出可能存在的漏洞(其中框架类例外),在获取源码后可进行本地安全测试或代码罪计,也可以分析其目录工作原理(数据库备份bak文件等),未获取到的源码采用各种方法想办法获取!

******CMS识别******
## ASP和PHP的源码漏洞测试
当我们拿到一个网站后,我们应该优先去收集网站的一些基本信息,如网站源码的编写方式(在url哪里可以看到)和网站的版本(一般在网页的最下面)。当我们得到了版本信息后,我们就可以通过各种方式去手机网站的源码(淘宝,咸鱼,搜索,第三方灰色软件)从而得到网站的目录结构,再通过网站ip+文件名的类型来抓取到网站的信息(如账号密码),再利用账号密码来登录其admin

## 基于不同用途的漏洞/电商业务逻辑漏洞

用burpsuite抓包来修改数据包中的金额或者是数量,来白嫖


## 简要目标从识别到源码获取


## day05   系统以及数据库

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210715202419261.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)


识别操作系统    

 1. 通过url中修改大小写来区别操作系统    linux对于大小写敏感   windows对于大小写不敏感
 2. 通过ping的   ttl来区别    128 windows  
 3. nmap来探针   



## MYSQL注入

墨者网站在线靶场

 1. 简单的流程
 step1:通过修改url中的id=更具其回显来判断是否有可控变量的存在
 step2:当我们判断到能够存在注入点时,我们应该接着判断是数字型注入还是字符型注入
 step3:假如是数字型注入,我们接下来就应该通过order by 2345的方式来判断其有多少个字节,在通过 and 1=2  union select 1,2,3,4的方式来判断那个位置的参数要显示到屏幕上。
 step4:构造sql语句来获取database(),version(),user(),@@.........来获取相关信息
 step5:根据已知的数据库名来爆破表名, and 1=2  union  select 1,(group_concat(table_name)),3,4  from  information_schema.tables   where  table_schemata = "mozhe_Discuz_StormGroup"
step6:利用step5获取到的表名来接着获取字段名     and 1=2  union  select 1,(group_concat(column_name)),3,4  from  information_schema.columns   where  table_name = "xxxxxxxxxx"
step7: 获取到字段名后,我们就可以利用已知的字段名 和表名来抓取到一些敏感信息了 , 如账号密码。




高权限注入:当我们通过user()获取到高权限的账户时,我们就可以利用这个高权限来获取其他数据库的信息,就是所谓的跨数据库注入

文件读写操作: 读   loadfile(路径)  获取到指定路径的文件信息     
                          写    into outfile  into dumpfile    直接上传  后门信息
                          ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210717102825213.png)
select 'x’into outfile   d: /www.txt     

sql语句会将反斜杠进行强制转移  因此在写路径时要多写一个反斜杠
            
 通过loadfile()
                        
路径获取方式:报错,遗留文件,漏洞报错,平台配置文件,爆破等


防范措施:魔术字     开启后,会将可控变量中的 \ ()等字符进行强行转移,从而导致文件的路径不正确,也就限制了文件读写漏洞
                  内置函数      通过if条件语句来进行判断,当判断到可控变量时字符时,就会直接报错
                  关键字过滤   过滤掉select等关键字   
                  waf防火墙,宝塔



## 提交注入

 1. 数字类型:数字,字符,搜索,json
 2. 提交方法:put get  cookie    单个接受
                       request         全部接受
对方是什么方式提交数据  我们就用什么方式进行注入

http数据包注入
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210717111911613.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)




字符型注入:在查找注入点时,我们应该优先判断是为整型还是字符型     id=‘x’   所以我们在注入的时候就要考虑如何 将引号注释掉或者是正确的引用


 lnmp环境搭建    wget http://soft.vpser.net/lnmp/lnmp1.8.tar.gz -cO lnmp1.8.tar.gz && tar zxf lnmp1.8.tar.gz && cd lnmp1.8 && ./install.sh lnmp

https://www.cnblogs.com/NexTen/p/7671280.html


 oracle   mongodb
 
 明确注入数据库的权限,类型   明确提交方式,参数类型
 
addess  数据库和前端网站放在同一个目录里面,不想mysql,二者妨碍不同的地方,且access数据库支持的函数很少,没有类似于loafile   他只有一个表,没有所谓的information_schema   爆破这种数据库,只能全靠猜,当我们猜测对了,才能有回显,没猜对,就没有任何显示

sql-server   借助工具穿山甲,把目标网站的url  放到穿山甲里面就能直接注入
![在这里插入图片描述](https://img-blog.csdnimg.cn/3f4abb6112944718b3b7b758e13cf8ba.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)![在这里插入图片描述](https://img-blog.csdnimg.cn/7b8157fa06034c2ea91199341488f540.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)

 不同的网页功能对应着不同的sql语句  如登陆时的select    注册时的insert    删除是的 del    
 不同的语句,其表现形式不同,也就意味着我们封闭符号的位置不同,注入位置不同

   盲注,就是在诸如过程中,前端页面没有明显的回显,不能我们怎么输入sql语句他都不报错,这种时候我们就应该考虑使用sql盲注

 1. 基于不二的sql盲注----逻辑判断
regexp,like , ascii,left,ord, mid



 2. 基于时间的sql盲注
if(length(database())=8 ,sleep(6),1)     正确时就会延时,不正确就会直接返回     if(left(select table_name  from information_schema.tables   where  table_schema = "security"   ))

like 'ros '     #判断ro或ro...是否成立
regexp ' ^xiaodi [a-z]’        #匹配xiaodi及xiaodi...等
if(条件,5,0)           #条件成立返回5反之返回0
sleep (5)            #sQz语句延时执行s秒
mid ( a,b, c)               #从位置b开始,截取a字符串的e位
substr ( a,b, c)               #从b位置开始,截取字符串a的c长度1
left (database(),1), database () #left (a,b)从左侧截取a的前上
length (database ( ))=8        #判断数据库database ()名的长度
ord=ascii ascii(x)=97                判断x的ascii码是否等于97



 3. 基于报错的盲注
floor    extractvalue(xx,concat(a,database))   updatexml(xx,concat(xx,database()) ,  sad )
  updatexml 大概率在数据更新的时候使用


*补充:access暴力猜解*


  加解密注入
![在这里插入图片描述](https://img-blog.csdnimg.cn/8454cbc547474f2c972eade42c0c5249.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)通过burpsuite抓包工具来抓包,在加密
后端的php代码有对cookie值进行解密操作,因此,我们要想进行注入的化,就必须要将sql语句进行加密,这样在解密之后才能正常查询
 cookie注入的基础上,再有加密  
 一般== 的就是base64加密

dns注入


二次注入
![在这里插入图片描述](https://img-blog.csdnimg.cn/9ee47f0f9f6f4aee8d1d1886af8db7a5.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)

二次注入不能够通过工具扫描出来,他的注入方式时分为两步的,首先第一步,按照网站的正常操作将我们的数据输入到数据库中,这个数据本身是无害的,第二步,利用我们之前第一步放到数据库中的数据,来联合查询,构造sql语句
列入:第一步:我们先按照网页的注册流程注册  username=‘www’    password=‘ddd’   
            第二步: http://................username=‘www’ and 1=1 union  select.......
 里外应和

 前端限制长度,还是后端限制长度    前端的长度限制可以更改



带外注入/dnslog: 要求数据库的用户是高权限

中转注入, 当我们遇到加了密的网站时,我们就可以利用中转加密的方式来进行注入
首先是利用url将目标网站的信息爬取下来,其次在将进行了x进行base64加密,再将其拼接到url的后面进行注入。
再利用sqlmap运行这个脚本,让sqlmap将他的所有注入语句加密后,再进行注入![在这里插入图片描述](https://img-blog.csdnimg.cn/3d172ca21d06473a940c07c8109915af.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)



![在这里插入图片描述](https://img-blog.csdnimg.cn/10ecafe9a31a4224a2b64b624d3cd0f1.png)



## 堆叠查询注入

就是将多条注入语句一起执行  select ........ ;  select ............;
但是堆叠语句有限制,只能是个别数据库才能注入
当我们在注入时遇到无法获取到账号和密码时,就可以用堆叠注入来向管理员数据库添加夜歌自己知道的账户,或者是用update来更新管理员账户的密码,从而来达到获取权限的目的

在常见情况下,数据库中常用一个数字来分别普通用户和admin用户,例如mytype,因此我们在写入账户的时候便可以通过修改mytype来达到提权的目的



## waf绕过

 1. 宝塔

 2. 安全狗,一种网站安全防护waf,其能过滤各种注入,post,get,select,和一些列的工具扫描,但是为了不影响网站的正常使用,其一般不会把防护全都打开,因此我们就需要判断吧他那些做了防护,那些没有做防护,然后针对那些没做防护的环节进行注入。

当我们在进行注入是,应该优先判断其是什么方式传参的,post 还是 get 而或是 request

大小写   加密解密   编码解码  等价函数  特殊符号  反序列化  注释符混用

过滤  database()   是过滤的一个整体  我们就需要对这个过滤进行绕过,再不影响数据库语句执行的前提下,又能绕过过滤    比如说  database/**/()   


参数污染


fuzz  是一种思路,用脚本硬测试,类似于爆破

 1. IP地址白名单绕过
 再知道对方白名单IP的前提下,利用burpsuite来炸爆修改xxf的数据,以此来绕过,但是有局限性,当对方是通过tcp等底层来获取ip时,就没办法修改了,如果是利用脚本来获取的,则可以修改
 2. 静态资源
特定的静态资源后缀请求,常见的静态文件(.js .jpg .swf .css等等),类似白名单机制,waf为了检测效率,不去检测这样一些静态文件名后缀的请求。
http :/ /10.9.9.201/ sql.php ?id=1
http ://10.9.9.201/sql.php/1.js?id=1
备注:Aspx/php只识别到前面的.aspx/ .php后面基本不识别


 3. url白名单


 4. 爬虫白名单
部分waf有提供爬虫白名单的功能,识别爬虫的技术—般有两种:1、根据userAgent 2、通过行为来判断
伪装成浏览器爬虫来扫描网站,把自身的身份伪装成搜索引擎,又因为大多数的搜索引擎都在安全狗的白名单里面,因此我们就可以利用这个进行绕过
UserAgent可以很容易欺骗,我们可以伪装成爬虫尝试绕过。6 user Agent switcher (Firefox附加组件),下载地址:
https : / /addons.mozilla.org/en-us/firefox/addon/user-agent-switcherl
 5. sqlmap
tamper脚本  自动绕过waf
 6.
 7. 中转注入

本地搭建一个脚本(请求远程地址数据包可以自定义编写)->远程地址
sqlmap去注入本地的脚本地址

## 文件上传,基于黑白名单
常规文件上传    cms文件上传   编辑器文件上传
 1. 什么是文件上传漏洞?
 2. 文件上传漏洞的危害?    直接上传webshell后门,提权
 3. 文件上传漏洞如何查找和判断?  扫描工具,会员中心的上传,
 
上传文件后会返回一个路径
在图片中添加一句话木马  要配合解析漏洞       来实现   图片解析成php    linux


前端js过滤的话,我们可以直接修改去html源码,删除相关的过滤语句

将网站源码down下来  将js代码删掉   再在form表单中添加一个action,指定文件上传的网络路径   该网站路径可在原来的网页http数据包中获取


抓包修改文件后缀名

docker  -compos logs  | grep  passwd   看密码
docker -compose config    看端口


文件上传常见验证:
后缀名,类型,文件头

后缀名:黑名单,白名单

 1.
文件上传黑名单:可明确拒绝的文件类型   asp  php  jsp  aspx  cgi   war     存在记录不全的漏洞
文件上传白名单 :可以上传的文件格式   jpg  zip   png  rar



文件类型:MIME信息

 1. 数据包中的content-type: image/gif

文件头:内容头信息
不同的文件,其头部信息是不同的,因此我们可以通过修改数据包中的文件头信息修改成允许上传的文件头信息,来进行绕过


![在这里插入图片描述](https://img-blog.csdnimg.cn/d5a6ee6091784c68b20e274d12a9a92b.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)
$_FILES[ 'uploadfile '][ 'name ' ] ;    用于获取上传文件的名字/类型/大小等,  获取之后,便可以以此来进行过滤


后缀名mime:

黑白名单:

 特殊解析后缀:过滤了php     但是没有过滤 php5     php5也是一种脚本格式      但是也需要其后端服务器能够解析php5,脚本才能起作用


.htaccess   :  apache中间件  伪静态
![在这里插入图片描述](https://img-blog.csdnimg.cn/3d051014d7404cb9a09cf7bada9e84f8.png)

上传了上述内容的.htaccess的文件之后,和他同目录的名为shana文件在执行的时候就会以
application/x-httpd-php   的名字来运行
 

后缀名的大小写:  php文件没有对空格进行过滤,且服务器的操作系统没有对空格进行强制性的删除。   就可以通过  在php后面加上一个空格 ,组装成php 的格式来绕过黑名单检测



后缀名加  .  

::$DATA   php在window的时候如果文件名+ ::$DATA"会把SDATA之后的数据当成文件流处理不会检测后缀.且保持":$DATA"之前的文件名他的目的就是不检查后缀名....


过滤: 代码将字符串里的php替换为空—次过滤
                                        a.php a.
                                        a.pphphp a.php
                                        
循环过滤递归过滤    a.pphphp     a.    双写



白名单:MIME
              %00截断    get不需要解码  能自动将  空格   引号 等 转换成url编码      但是post不可以  post需要人为解码解码    且这里的%00是url编码   而不是普通文本中的%00
              0x00截断
            0x0a截断


$img _path = $_GET [ ' save_path' ]." / ".rand (10,99).date ("YmdHis" ) . " . " $file.ext
?save_path=. ./ upload/1.php%00
../ upload/1.php%001112132321.jpg                  ------》../upload/1.php




## 文件上传,内容逻辑数组绕过

 1. 文件包含漏洞,在文件中插入恶意代码
                图片一句话制作方法:
                copy 1.png /b + shell.php / a webshell.jpg


 2. 服务器端先将文件存储到了一个临时文件夹,在进行黑白名单后缀名过滤,满足的化,则将其进行重命名,否则的话,就将其进行删除。    这里就有个先后顺序在这里面,要知道操作系统是无法删除正在编辑或者是使用的文件的,因此我们就可以利用burpsuite的  intructer 工具不断地去发送请求,然后再浏览器疯狂的访问那个文件,争取某一瞬间能优先于文件被删除之前访问到文件,这样就能将“删除”这个动作无效化



 3.修改server_name    以此来进行绕过    upload/ypload-19.php/.     这种会被后端服务器认定为文件夹,从而绕过检测    同时也可以通过post隔断的方式来进行绕过    upload/1.php%00.jpg  
 
 3. 修改上传文件的文件头来实现绕过 GIF89a  
 4. 上传木马图片,在正常的图片中插入一句话木马,并将其上传,再结合网站中间件或操作系统本身的解析漏洞,来实现jpg文件php运行
 5. 文件上传漏洞不仅仅存在于网站前后端的代码漏洞,还有可能存在于搭建网站的中间件,中间件也可能存在漏洞,例如
![在这里插入图片描述](https://img-blog.csdnimg.cn/79505b3a2cfc40c095c23a4f552c53ab.png)
 6. vulhub靶场   
 7. 解析漏洞  常见于中间件上,可以配合文件上传进行图片木马的上传
         iis6.0  文件夹   image/qq.jpg      image.asp/qq.jpg   qq.jpg就会被当作成asp代码执行
         xxx.asp:xxx.jpg       访问xxx.jpg就会返回一个asp的脚本执行结果
 



## 跨站脚本攻击xss
常见于,留言板,下订单的地方

 1. 传参的时候能够传送js脚本语言,且目标服务器能够解析这种脚本语言
   产生在浏览器的前端代码漏洞     常见的输出类函数   获取cookie 和浏览记录
浏览器版本的内核决定了其xss是否能够执行  如果浏览器版本足够高,则无法执行·

存储型   常见于留言框 ,输入的js脚本存放在了数据库中,因此当我们每次访问那个网页的时候都会进行弹窗,直达js脚本被删除

反射性  只攻击一次

dom型   发包x=xiaodi=>本地浏览器静态前端代码=x.php
 dmo树   url传参  ,遍历节点


   
将xss代码写入到目标网站中去,当其他人或者是管理员来点击这条信息时,就会被攻击,备货区cookie信息等

xsshs.cn    跨站平台     工具 beef

登陆过平台之后,才有cookie   因此,如果管理员没有登陆,即使你xss注入成功了,也无法获取cookie

xss跨站脚本普遍存在,但是受限制十分多,例如网站本身的限制,网站高权限用户不登陆也无法获取cookie,或者是浏览器清除cookie值,而或者是对方不触发你的漏洞地址,也不行。

cookie  用户的凭据,通过cookie可以判断对方的信息    存储再用户本地的,存活时间较长
session     作用同上,存储在服务器端,存活时间较短



## 订单以及shell箱子反杀

 1. 当我们再目标网站发现了存在xss  playlood之后,我们就可以到xss平台上面,将那段窃取cookie的代码再次注入到之前测试地方,当服务器后端管理员进行了登录,且出发了xss漏洞之后,物品们就可以再xss平台哪里获取到目标网站的网址信息,以及相关的管理员cookie值,利用这两个东西,再加上postman,就可以登录到网站后台

http://xss.fbisb.com/
https://github.com/tennc/webshell
https://www.postman.com/downloads/
https://pan.baidu.com/s/1IlUZvEVXs1du-Bmkt7-abA提取码:xiao\
https:/pan.baidu.com/s/13H4N1VTBVwd3t8YWpECBFw提取码: xiao

 1. 除了利用平台,还可以手写代码,来实现cookie的获取


## 代码绕过以及httponly

 1. 当对方的网站设置了httponly之后,我们就我发通过xss来获取到对方的cookie,也就无法实现我们想要登陆到对方后台的目的。每当我们明明xss成功了,但是就是没有获取到cookie时,我们就可以考虑httponly
 2. httponly虽然可以防止我们获取到cookie,但他并不能够防止xss
 3. 当对方开启了httponly之后,我们就需要考虑别的方法来获取登录信息了
         对方管理员习惯性的将登录信息保存到浏览器时,我们就可以通过xss来获取其浏览器信息的缓存,以此来得到想要的账号密码信息
         当对方没有在浏览器缓存登陆信息时,我们就可以通过表单劫持的方式,来获取到管理员登陆后台是提交的账号密码数据
         *ps:上述两种方法都是建立在我们能够将xss代码注入到对方服务器的源码中,才可以执行的,*



https://github.com/doOdl3/xss-labs
https://www.cr173.com/soft/21692.html
https://www.oschina.net/question/100267_65116



绕过:  闭合前方的尖括号     当尖括号被转义,无法使用<scrript>   我们就可以通过其他的方式来触发xss  如 ’onclick' =alert() 和鼠标移动等来触发

 1. csrf
xiaodi8后台添加管理员的数据包:
www.xiaodi8.com/adduser.php?username=xd&password=123456
比如某鸟人在自己博客: www.woaixiaodi.com
首页文件加入代码:<script src="http://www.xiaodi8.com/adduser.php?username=xd&password=123456"></script>(访问这个url地址)
小迪在某天吃西瓜的时候看到这个鸟人的博客并打开了访问,如果此刻小迪浏览器是登录状态的情况下,会发生什么事情?自动添加了一个管理员
因此为了防止上述攻击,有了  检测来源  同源策略---》是否为同意来源

这个来源时小迪吧上鸟人博客地址,并非是小迪本身的地址,因此不满足同源,所以不能创建

xss不仅仅出现在url框  留言框  订单等前端能明显看到的地方,还能出现在http的头部,例如ip  cookie    如果对方服务器要获取到你的http头部中的某个信息,你就可以将相应的信息修改成xss代码。

总而言之一句话,xss跨站脚本攻击,就是先找到一个可以输入的地方,当我们修改这个地方的数值是,能被其他人所看到,能被别人触发到,   在测试xss漏洞时,  不仅仅局限于前端的框框,还要考虑到http的头部,甚至是对方后端服务器的代码。



## xss漏洞的waf拦截以及安全修复

![在这里插入图片描述](https://img-blog.csdnimg.cn/d4abc2504f434390a3c789da9d4d8c76.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)

 1.waf针对  <>   和其中的个别字符进行拦截    例如拦截  <s>  <o>    不拦截<23>    
     
垃圾字符填充

![在这里插入图片描述](https://img-blog.csdnimg.cn/150c4cdf77754300af0ff3aa45561be2.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)
/   符号在javascript中作为符号干扰来使用  代表着结束标签

xssstrike  工具

防范:开启httponly   开启输入过滤,输出过滤



## csrf和ssrf漏洞

 1. csrf 跨站请求伪造   a在自己的网站上,或者是其别人的网站上添加一个js代码(添加账号密码的), 然后引诱网站管理员来点击这个代码,以此来触发js语句,从而用创建用户,且是用管理员权限创建的。有点类似于xss跨站脚本攻击,但是csrf更倾向于利用管理员的权限来做事情,而xss是获取管理员的cookie等敏感信息

csrf一般是用来  添加,更新,修改账号等功能的  ,如果目标网站没有这个功能,则大概率没有csrf漏洞

防范:

 1. 设置随机token
2:同源策略 检测refer的来源   但这里的同源可以通过抓包修改

但也要知道  其数据包的格式才行  ,比如说传输方式get/post   还有就是变量名
略显鸡肋


ssrf 服务器端请求伪造

本地上传   
 远程上传    伪造一个恶意网站   上传到目标服务器之后,目标服务器就会根据我上传的网址,去访问那个网站,从而被攻击 xss
还有就是直接上传  http://127.0.0.1    服务器自己请求自己的数据    127.0.0.1:3306  也可以探测目标服务器同网段的内网其他服务器的信息      可以将这个上传服务器理解成一个跳板,我们原先没法访问内网的其他主句,但是可以访问这个对外开放的上传服务器,又因为这个上传服务器存在ssrf漏洞,能探针到内网的其他主机信息,所以我们就可以操作上传服务器来探针内网主机情况
 
有道词典
![在这里插入图片描述](https://img-blog.csdnimg.cn/38473cfc588949178f2b8d387b6a7d8c.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/0a045279d28543148b36b8b1c792e814.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/88b436d240bb4e4aac97d04d57daf328.png)

目标服务器的脚本环境不同,其所支持的协议不尽相同



## RCE漏洞-----代码和命令执行漏洞

 1. 可控变量   漏洞函数

就是后端服务器根据自身的需求,不得不向前端服务提供一个接口,接受其变量来进行操作,其后端可能是system()的命令行    或者是phpinfo之类的代码  ,   因此 ,我们就可以通过在这个接口变量哪里构建命令语句,或者是代码语句 ,以此来达到攻击的效果。如利用cmd上传或者是下载文件,利用phpinfo执行某段一句话木马


代码执行   
命令执行  
根据网站的具体了下来区别
黑盒测试  白盒测试

墨者网站   ping xxxxxx                         ping 127.0.0.1  |  ls  

eval(xxxxxx)       将后者的 xxxxx  用php的方式去执行

![在这里插入图片描述](https://img-blog.csdnimg.cn/7eeacacd8a164dbb9e8b2221cc50b6df.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)
poc  漏洞验证代码
exp  漏洞利用代码
 
 eval  assert   exec   call_user_func_arry    arry_map()     system()   shell_exe()    等
![在这里插入图片描述](https://img-blog.csdnimg.cn/f6d923de3b0e4441881d9695c06dea86.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)
## 文件包含漏洞
可控变量   函数

文件包含:就是在程序员进行代码开发是,为了方便代码的整体架构和减少代码的融合与,他们会将那些个常用的代码打包起来,然后在需要使用这些代码的时候进行调用,非常的方便。常见的文件包含调用函数
       PHP
include() , include_once() , require_once() , fopen() , readfile() ....
    jsp/Servlet
ava.io.file() , java.io.filereader() ....
    asp
include file , include virtual ....

include(1.txt)   1.txt里面就是一系列会使用到的代码集合,  include  会将后面的文件内容以脚本的格式进行运行  
因此,如果我们将include()  后面的1.txt转换成我们的恶意代码集合 ,是不是就能达到攻击的目的呢?

本地包含的意思就是,恶意文件存在于服务器本身  可以通过  include(绝对路径/相对路径)的方式进行调用
远程包含的意思就是,恶意文件在互联网的另一个地方  , 需要使用 include(网络路径)的方式进行调用
远程文件包含   要求了 php的   allow_url_include  拓展打开了 才能行    

本地包含  无限制,有限制  
如何绕过
%00截断     include(1.txt%00)     
长度阶段      include (1.txt././././././././././././././././././././././././)   windows 256   linux 4096       有点类似于垃圾字符填充



各种协议流玩法

![在这里插入图片描述](https://img-blog.csdnimg.cn/671b803cc77044ac8d9575f2c42bfd48.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)
修复:固定文件,减少传参   固定后缀名   安装waf产品

案例:墨者  ctf       

当我们发现莫某个网站存在文件包含漏洞时,可以尝试判断一下其是本地上传  还是远程上传(最基本的方法就是,尝试远程上传,看起是否报错啥的)   能远程包含的话,我们就可以包含调用自己的js脚本,而或者是使用上面所说到的协议流玩法,来对目标服务器的文件进行查看和读写等操作。  如果不能远程包含,只能包含本地的文本的化,我们就可以尝试着修改其本地文件的内容,那么应该怎么修改呢?日志文件!!!!!日志文件是可变的,虽然说我们不可以直接对其内容进行修改,但是可以通过间接的方式对其进行修改,例如使用目标网站的url进行远程包含,且包含的内容是一个木马语句。因为其服务器是不能够远程包含的,所以我们这个远程包含木马的操作必然会报错,且日志文件会记录下这一行为,并生成相应的日志信息,日志信息中就包含一句话木马。这时候,我们就可以通过菜刀来连接这个一句话木马了。

还有种方法就是,如果目标服务器是本地包含,我们也可以尝试是否能够上传一个文件上去(前提是能有文件上传这个功能,如果没有的话,直接不考虑这种方法), 直接上传一个合乎黑白要求的jgp文件,再利用其本地文件包含漏洞,将jpg文件用脚本的格式运行。(当我们无法绕过文件上传的限制时,就可以考虑其是否能够和文件包含漏洞结合使用)



## 文件读取和下载漏洞

任意语言代码下载功能函数

 1. 存在于文件读取和下载的地方

![在这里插入图片描述](https://img-blog.csdnimg.cn/2f84de00d1454100a718585c851c0c37.png)
直接再filename后面跟文件的相对路径或者是绝对路径,来下载相应文件,  跳一级 ../  2级 ../../

如果要获取mysql等敏感信息 ,就需要获取其相应的路径 , 路径的获取可以通过工具扫描,爬行,或者是猜测常见的      例如/usr/local/msyql    

znds.com

#文件名,参数值,目录符号
read . xx?filenaqme=
down. xxx?filename=
readfile.xxx?file=downfile.xxx?
file=../ ..\ . \ ./等
%00 ? %23 %20 .等
&readpath=、&filepath=、&path=、&inputfile=、&url=、&data=、&readfile=、&menu=、META一INF= 、WEB一工NF

![在这里插入图片描述](https://img-blog.csdnimg.cn/10053d6d929f435cbe139cf672f489b8.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)
通过扎数据包来判断其服务器的操作系统类型,中间件类型,然后尝试下载其默认重要文件的位置  如/var/log下的内容等


文件读取   其原理和文件下载大差不差,只是前者是下载文件,而后者是读取文件
![](https://img-blog.csdnimg.cn/520bfd34568f41d3b469e5e9604089cf.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)

![在这里插入图片描述](https://img-blog.csdnimg.cn/e54212dcaec841e08fa2b17d5c3b9a98.png)

小米路由器,任意文件下载


## 逻辑漏洞水平垂直越权

用户a和用户b 是在同一级别的  ,但是a能访问到用户b的私密文件。 甚至是修改用户b的文件内容
用户a是用户b的上级,但是用户b能够访问到用户a的私密文件,而或者是修改用户a的文件信息,垮了级别



原理:程序员在软件开发的时候对于用户之间的cookie等个人信息的认证不够完善,导致黑客能够通过修改数据包中的个别能够唯一标识用户信息的值,以此来请起到他人账户的信息,一次来达到越权的目的。

例如修改数据包中的cookie id name 等字段

某些情况下甚至可以针对型的越权,来创建新用户,     前提是你能够拿到管理员创建用户时的数据包才可以,因为在常规情况下,普通用户是没有创建用户的功能的,也就无法抓取到创建用户的数据请求包,当我们拿到了管理员的创建用户数据请求包时, 因为服务器没有对用户进行唯一标识的认证,因此,我们就可以直接在burpsuite里面,将数据包进行修改并发出,就能创建我们的用户了。

当我们没法直接获取到管理员创建用户的数据请求包时,我们可以通过一下方式来间接获取
 1. 盲猜
 2. 网上搜索源码,自己本地搭建进行测试

 
甚至我们还可以通过修改数据包中的level  和login 等参数,来实现权限的提升   
**总而言之,逻辑漏洞水平垂直越权,就是源于网站开发人员的逻辑不够严谨,认证账户时没有采取严格的cookie等绝对标识进行认证,从而导致了黑客有了可趁之机**



原理:
前端安全造成:界面
判断用户等级后,代码界面部分进行可选显示后盾安全造成:数据库

user表(管理员和普通用户同表)
id, username , password, usertype
1 , admin,123456,1
2 , xiaodi,11111,2

登录用户admin或xiaodi时,代码是如何验证这个级别?(usertype判断)

如果在访问网站数据包中有传输用户的编号、用户组编号或类型编号的时候,那么尝试对这个值进行修改,就是测试越权漏洞的基本。l


![在这里插入图片描述](https://img-blog.csdnimg.cn/5bccd6819c9742c78c9de93000b6d9cd.png)
## 逻辑漏洞之登录脆弱,支付篡改

![在这里插入图片描述](https://img-blog.csdnimg.cn/5f2113b3072044749af518beeb931a37.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)


原理,检测,危害,修复等
参考: https : / / www.secpulse.com/ archives/ 67080.html

#商品购买流程:
选择商品和数量-选择支付及配送方式-生成订单编号-订单支付选择-完成支付

#常见篡改参数:
商品编号ID,购买价格,购买数量,支付方式,订单哥,支付状态等

#常见修改方法:
替换支付,重复支付,最小额支付,负数支付,溢出支付,优惠券支付等

支付接口修改   抓取数据包,将其中的支付方式,修改成第三方的支付接口    也就是将钱支付给了别人

修改优惠券的数值

在购买东西的时候 通过抓取数据包,并且修改数据包中的商品id   购买数量,支付方式等线管数据,以此来达到用a商品的价格来购买b商品 或者是将商品的数量修改成负数,价格也就自然是负数,       或者是通过修改订单编号,用以一块钱的订单,来置换10000块钱的订单


产生原因    代码编写人员,没有针对数据包的唯一性进行限制    价格等信息  应该以数据库的为准  且应该针对购买数量进行判断  不能够为负数  且不能够超过库存的数量
## 逻辑越权之找回机制和接口安全

验证           
数据         
找回:客户端回显,response 状态值   验证码爆破      找回流程绕过     
接口   :  短信轰炸      来电轰炸
回退




![在这里插入图片描述](https://img-blog.csdnimg.cn/2ab59af2c9114c8fa56808d26c6483fc.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)验证码套用  没有把验证码 和手机号进行匹配    因此 就可以用一个正常的手机号来获取验证码  再将这个验证码用于另外一个手机号码的密码重置   按照正常的情况来说   应该是将上述的页面分成两个, 第一页输入重置的电话号码  ,点击接受验证码之后,跳第二个页面。在输入验证码。这样就能保证二者的匹配


电脑操作web的前端代码---------前端代码在需要的时候调用后端的php代码 -------后端的php代码在连接数据库-------再将处理后的结果返回给前端代码------映射到浏览器----

burpsuite  抓取的是前端-----php之间的数据


客户端回显 意思就是 当我们申请验证码之后  后端的服务器会将验证码返回给浏览器  我们可以通过抓取数据包来获得

发送两次验证码     第一次的验证码是php端生成,用于前端html验证通过 第二次的验证码是html前端生成,用于php后端的验证通过  前端验证通过之后,待会想后端发送数据(数据中携带后端的验证代码 )
当后端的验证通过之后  ,才会向数据库中进行数据的更改

因此,我么可以通过用账户原本的绑定手机号,通过a手机号码  来获取第一次的验证码  ,将这个验证码用于手机号b的第一次验证通过,再抓取数据包修改其中的第二次验证码信息,让其能够通过后端的第二次验证。


状态码3-----错误           状态码1------正确
在那边验证          服务器端验证------返回3、1的状态码    
                            客户端验证------返回3.1 用于客户端的验证      验证通过,则返回绑定成功 ,反之则错误    


![在这里插入图片描述](https://img-blog.csdnimg.cn/0bf61b418797410fa8842e5b7e699214.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)验证码爆破  用burp去爆 ,根据回显值是3还是1来判断验证码是否正确  ,但是这种方法的限制很多 如验证码的位数大了之后,会跑很久   如果对方的验证码设置了时间限制/错误次数限制的话,就没招   且还有图形验证码  ,  算加减乘除的验证码  哈有那种找消防栓的验证码等,局限得很



![在这里插入图片描述](https://img-blog.csdnimg.cn/03fec18063534ac9b3c298c0b90eec2c.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)

用插件来实现对验证码的识别   利用burp的插件,来联合burp的爆破功能  来打组合拳
赋值验证码图片链接    抓取验证码的数据包

验证码的时效性   验证码复用
绕过  识别
根据源代码的审核情况   来判断其是否为前端验证码  还是后端的验证码


https://blog.csdn.net/char56789/article/details/109558459?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-4.base&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-4.base![在这里插入图片描述](https://img-blog.csdnimg.cn/d6c7aead615549e384a57350c5234687.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)


## 这两节课听不懂 暂时跳过


## 反序列化之php
序列化 就是将对象转换成字符    反序列化 就是将字符串转换成对象, 对象的序列化有利于对象的保存和传输,也可以让多个文件共享对象




![在这里插入图片描述](https://img-blog.csdnimg.cn/7a63d72dcc3d454c9192cd1b267a7325.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)


有类     魔术方法     判断有无类  则查看是否存在class
不同的魔术方法,会在不同的时候进行调用,例如构造函数会在创建对象的时候触发, wakeup魔术方法会在使用反序列函式的时候调用,析构函数会在函数结束的时候调用

无类


危害   导致sql注入        代码审计     加解密

传入反序列化参数----调用某个函数-----》绕过判断---》函数结束的时候就会调用析构函数---》执行析构函数其特定的内容-----》.......
层层绕过,寻找逻辑漏洞,绕过if  ===和===


序列化是为了方便编程人员在传递对象参数时而使用的,且大多数的类都定义了其魔法方法,且这些魔法方法会在特定的时候调用,因此,心怀不轨的人就可以利用这种自动调用的特性  来构造代码,利用各种方法来触发其魔法方法,并最终达到渗透的目的,  这种反序列化的成因大都是代码编写人员的逻辑不够严谨造成的,存在漏洞。   但是这种漏洞的利用也是十分困难的,因为在真实情况下,我们对于目标网站的代码信息是一无所知的,不可能说能够慢慢的审计其代码,寻找其中大的漏洞。        


## 反序列化之java    

![在这里插入图片描述](https://img-blog.csdnimg.cn/80a62edaf21747eb9fa01953441afbbd.png)

![在这里插入图片描述](https://img-blog.csdnimg.cn/6875df7153814604a258ab62cbde7ec1.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,color_FFFFFF,t_70)![在这里插入图片描述](https://img-blog.csdnimg.cn/3d7404368ec7492dbaf9e45aeb43447b.png)

反序列化  配合命令执行  
   rO0AB........序列化+base64
   ace.............单纯的反序列化
   反弹shell     ysoserial 工具



通过网页的回显来来判断其受否 存在序列化和反序列化  二者且与不可   ,当我们看到了read.....返序列化函数    write......序列化函数时 ,就可以考虑是否存在反序列化漏洞, 且还要通过看序列化之后的字符串开头  来判断其是单纯的序列化,还是序列化和base64的联合使用。 当我们判断其存在序列化和反序列化   且得知了其加密状态时   就可以通过利用ysoserial工具来生成  具有攻击效果的序列化语句,将其当道输入框中进行执行  , 并最终反弹shell或者是窃取数据

![](https://img-blog.csdnimg.cn/7c97b222a31a467787403fce8b116656.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfTVUx,size_16,cZHIolor_FFFFFF,t_70)


## XXE&&XML之利用检测与绕过

xml是一种传输和存储数据的类型
  而xxe是漏洞    是xml外部实体注入漏洞    xxe漏洞发生在应用程序解析xml输入时,没有禁止外部实体的加载  导致可加载恶意外部文件,造成文件读取,命令执行,内网端口扫描,攻击内网

posted @ 2021-08-14 11:00  大海与鱼  阅读(170)  评论(0)    收藏  举报