您的位置:首页 > 其它

小众漏洞合集

2020-08-12 15:31 288 查看

知识面决定攻击面!

XPath注入

参考文章
XPath注入详解

前提
:了解XPath语法,可以在这里——W3C 学习 XPath 语法

概念
:XPath注入攻击,是指利用XPath 解析器的松散输入和容错特性,能够在 URL、表单或其它信息上附带恶意的XPath 查询代码,以获得权限信息的访问权并更改这些信息。XPath注入攻击是针对Web服务应用新的攻击方法,它允许攻击者在事先不知道XPath查询相关知 识的情况下,通过XPath查询得到一个XML文档的完整内容。Xpath注入攻击本质上和SQL注入攻击是类似的,都是输入一些恶意的查询等代码字符串,从而对网站进行攻击。

示例

//users/user[loginID/text()=’abc’ and password/text()=’test123’] 。

这是一个XPath查询语句,获取loginID为abc的所有user数据,用户需要提交正确的loginID和password才能返回结果。如果黑客在 loginID 字段中输入:' or 1=1 并在 password 中输入:' or 1=1   就能绕过校验,成功获取所有user数据

//users/user[LoginID/text()=''or 1=1 and password/text()=''or 1=1]
有回显的注入:
$xpath = "//users/user[username/text()='".$_POST["username"]."' and password/text()='".$_POST["password"]."']";
当构造
Username: ' or '1' = '1
Password: ' or '1' = '1

那么整个 XPath 查询语句就变成了这个样子
$xpath = "//users/user[username/text()='' or '1' = '1' and password/text()='' or '1' = '1']";
类似于SQL注入

盲注:
Username:1' or substring(username(/*[position()=1]),1,1)='r' or '1'='1

CRLF注入

参考文章
CRLF注入 CRLF注入(响应截断)挖掘技巧及实战案例全汇总

前提:CRLF指的是CR回车LF换行。CR、LF的URL编码分别为:%0d、%0a

在HTTP规范中,行应该使用CRLF来结束。首部与主体由两个CRLF分隔,浏览器根据这两个CRLF来获取HTTP内容并显示。 就比如下面访问百度的返回包:

由此可见,浏览器处理返回包的时候,区分响应头数据部分的标识就是响应包中第一个空行(两个CRLF)出现的位置 因此,当服务器对客户端传输的数据过滤不严并且会将数据放在返回包里传输给客户端的时候,攻击者一旦向请求行或首部中的字段注入恶意的 CRLF ,就能注入一些首部字段或报文主体,并在响应中输出

最常见的两种情况是使用输入参数 创建 Cookie302 跳转location 处。 记得之前有一次在挖洞的时候,Cookie字段中,会存储一个 url=http://xxx.com,但是当时也没接触过 CRLF 注入,所以也就没测

寻找这一类漏洞,主要观察请求包中那些数据会出现在响应包中 比如 发起一个 GET 请求: www.xx.com?url=http://aa.com,并且在响应包中会返回一个响应头 Location: http://aa.com,那么就可以进一步测试是否存在 CRLF 注入

构造:

www.xx.com?url=http://aa.com%0d%0aCrlf:Ture
查看是否响应里会出现:

Location: http://aa.com
Crlf:Ture

若存在,则可以用来造成 XSS :

www.xx.com?url=http://aa.com%0d%0aX-XSS-Protection:0%0d%0a%0d%0a<svg/onload=alert(!)>

当然很多网站都会做过滤,可以尝试以下url多次编码或者十六进制编码绕过一下,绕不过也就没办法了 之前测试某丰网站的时候,有任意 URL 跳转,提交的时候说不收,然后就试了一下有没有 CRLF 注入,结果毛都没有,直接给我过滤了,出现%0d%0a直接给我替换成空,要是后面接了其他字符,他返回包的 Location 都给你删了,太难了,新手到底该怎样挖洞?

DNS 域传送漏洞

参考文章
DNS域传送漏洞

原因
: DNS服务器分为:主服务器、备份服务器和缓存服务器。在主备服务器之间同步数据库,需要使用 DNS 域传送 。域传送是指后备服务器从主服务器拷贝数据,并用得到的数据更新自身数据库。 若DNS服务器配置不当,可能导致匿名用户获取某个域的所有记录。造成整个网络的拓扑结构泄露给潜在的攻击者,包括一些安全性较低的内部主机,如测试服务器。凭借这份网络蓝图,攻击者可以节省很少的扫描时间。

检测方法

Windows

  • nslookup 基本用法
  1. 通过 DNS 服务器查询域名的 IP 地址

    nslookup cnblogs.com 114.114.114.114 # 也可以不指定 DNS 服务器,使用默认的即可

  2. 反向查询一个 IP 地址对应的域名(好像只能通过 IP 查到 DNS 服务器的域名)

    nslookup -type=ptr 8.8.8.8

  3. 查询某域名使用的 DNS 服务器名称

    nslookup -type=ns cnblogs.com

  4. 检测是否存在 DNS 域传送漏洞

nslookup -type=ns 域名     # 查询域名使用的 DNS 服务器,当然也可以不使用该步骤,直接使用默认的 DNS 服务器即可
nslookup
server DNS服务器域名       # 设置 DNS 服务器为刚刚查询到的
ls 要检测的域名                   # 查询 DNS 服务器下对应域下的所有域名

当出现大量数据时即表示存在 DNS 域传送漏洞,上面的例子为不存在

Linux

  • dig 基本用法
  1. 通过域名查 IP

    dig 域名

  2. 查询某域名使用的 DNS 服务器名称

    dig ns 域名

  3. 检测是否存在 DNS 域传送漏洞

    dig axfr @DNS服务器 域名 # 使用 axfr 参数,能得到域传送数据,从而检测 DNS 域传送漏洞
    当结果中存在 XFR size 字符串,即代表该服务器存在该漏洞 以下结果表示 cnblog 不存在 DNS 域传送漏洞:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: