ncist网络空间安全专业护网方向认知实习笔记2021.12 DAY 8

note

XML注入

什么是XML注入

又叫XML实体注入,XML External Entity attack(XXE)

XML injection,XML注入漏洞。

XML注入类似于SQL注入,XML文件一般用作存储数据及配置,如果在修改或新增数据时,没有对用户可控数据做转义,直接输入或输出数据,都将导致XML注入漏洞的产生。

  • 有的服务器会通过生成XML来达到存储信息(可能是用户个人信息酱紫的东西)
  • 举个栗子

在这里插入图片描述

正常情况下服务器存储的数据是酱紫的:

<?xml version="1.0" encoding="UTF-8"?>
<USER role="guest">
    <name>xlydm</name>
    <passwd>12345</passwd>
</USER>
<USER role="admin">
    <name>admin</name>
    <passwd>202cb962ac59075b964b07152d234b70</passwd>
</USER>

那么这种情况下用户guest传入的密码就是酱紫的:

12345

那么这个用户他要是脑洞大开,传入的密码是这样的呢?

12345</passwd></USER><USER role="admin"><name>admin</name><passwd>123456</passwd></USER><!-- 

是不是有点熟悉?那么咱们加个xml高亮再看看

12345</passwd></USER><USER role="admin"><name>admin</name><passwd>123456</passwd></USER><!-- 

emmmm这样插入之后的文件内容就变成了这样:

<?xml version="1.0" encoding="UTF-8"?>
<USER role="guest">
    <name>xlydm</name>
    <passwd>12345</passwd>
</USER>
<USER role="admin">
    <name>admin</name>
    <passwd>123456</passwd>
</USER><!-- 
</passwd>
</USER>
<USER role="admin">
    <name>admin</name>
    <passwd>202cb962ac59075b964b07152d234b70</passwd>
</USER>

事情开始变得微妙了起来

防御方法

防御XML注入的思路和SQL和XSS类似,主要还是字符串过滤以及用户权限的限制

远程文件包含漏洞

定义

  • 这种问题大多出现在php中,JSP和ASP则较为少见
  • 程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文件,而无须再次编写,这种调用文件的过程一般被称为包含。在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,导致意外的文件泄露甚至恶意的代码注入。
  • 如果PHP的配置选项allow_url_include为ON的话,则include/require函数是可以加载远程文件的,这种漏洞被称为远程文件包含漏洞。
  • PHP常见的导致文件包含的函数如下:
    • include()
    • include_once
    • require()
    • require_once()
    • fopen()
    • readfile()

防御方法

php.ini文件及时关闭allow_url_fopen和allow_url_include

禁止用户直接输入源码,而可以用一些简单字符(比如说1、2、3、a、b、c等)

本地文件包含漏洞

(有点像文件上传漏洞)

四种攻击方式:

  1. 在URL中包括了一个文件:简单级别
  2. Null Byte:高安全级别,本地文件包含攻击不能工作的。对服务器中的一些敏感目录、敏感文件进行攻击也是通过URL进行攻击
  3. PHP函数:Base64 encoded转码进行攻击
  4. 利用PHP INPUT 函数:通过注入PHP代码来利用LFI漏洞,加载目标URL

命令执行漏洞

  1. PHP函数:Base64 encoded转码进行攻击
  2. 利用PHP INPUT 函数:通过注入PHP代码来利用LFI漏洞,加载目标URL

命令执行漏洞

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小龙有点懵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值