一、DNSlog简介

在某些情况下,无法利用漏洞获得回显。但是,如果目标可以发送DNS请求,则可以通过DNS log方式将想获得的数据外带出来(oob)。

DNS log常用于以下情况:

  • SQL盲注
  • 无回显的命令执行
  • 无回显的SSRF

二、搭建DNS log平台

1、前期准备

一台VPS

1.x.x.x

一个域名

wolke.cn

在wolke.cn中添加添加一个A记录与一个NS记录。其中A记录指向服务器IP地址,NS记录指向A记录的域名地址

2、项目部署

参考开源项目DNSlog-GO:https://github.com/lanyi1998/DNSlog-GO

  1. 该项目是由GO语言编写的,所以部署的时候需要用到GO语言的环境

  1. DNS使用的是53(UDP)端口,记得53端口的放行

  1. 配置文件config.yaml的修改(我这里HTTP采用的是8000端口,也记得要放行)

  1. 启动

3、测试

访问http://ip:8000

需要输入token,这里的token就是config.yaml设置的值

点击复制随机子域名获取到 8xek8.dnslog.wolke.cn

使用ping命令

可以看到回显结果

三、后台运行并加入开机自启动

上面的方法有两个不足

  • 无法后台运行
  • 重启后进程不复存在

经过一个多小时的排错和搜索资料,终于实现了开机自启动并后台运行。这里我详细地写下教程,免得大家像我一样出现很多错误耽误时间。

1、编写Shell脚本

在/root/DNSlog目录下编写run.sh,内容如下

cd /root/DNSlog  # 这里根据自己DNSlog的main可执行文件所在位置进行修改即可
./main &

之后执行run.sh这个脚本,此时进程虽然会输出到当前终端会话,但其实进程已经脱离了当前会话,可以安全的推出会话,进程也不会退出。

2、修改rc.local

vim /etc/rc.d/rc.local

在末尾加上这句

/root/DNSlog/run.sh >/dev/null 2>&1

给rc.local加上可执行权限

chmod +x /etc/rc.d/rc.local

3、修改rc-local服务

systemctl status rc-local.service # 检查rc-local服务是否开启
systemctl start rc-local.service  # 开启rc-local服务
systemctl enable rc-local.service # 将rc-local服务加入开机自启动

4、测试

重启vps后,使用ps -ef可以发现已经自动运行了该程序,后台进程ID为1146

Web服务也能成功访问

杀死进程可以使用命令 kill -9 进程PID

5、最后

到这里我们就实现了只要VPS处于开机状态,main程序就自动运行,常开随用,我们可以方便快捷地使用DNSlog。但常开随用也带来了一个问题就是,如果某个攻击者获得了我们的Token(社工或爆破等手段),那么攻击者就可能会使用我们的VPS主机开启的DNSlog服务去进行一些非法渗透,而如果被溯源到就会很麻烦,因此我们需要提高Token的复杂度且避免泄露,或者不使用这节的技术,使用原始的随开随用方法,什么时候需要用DNSlog就什么时候运行main程序,很大程度上可以避免这个问题。

DNSlog平台的搭建相关推荐

  1. ubuntu平台下搭建PHPWind网站运行环境

    ubuntu平台下搭建PHPWind网站运行环境 前提: 要打开root权限 sudo password [这里填写root密码] 在Linux平台安装PhpWind的是比较麻烦的事,相对来说在Ubu ...

  2. 【CyberSecurityLearning 32】Apache配置、Apache的访问控制设定、LAMP平台的搭建

    目录 Apache配置 web服务 Apache 1.先启动httpd服务 2.通过端口来验证服务是否启动 3.建立主页 4.关于Apache服务软件的主配置文件分析 Apache的访问控制设定 1. ...

  3. [NOTE] 关于DNSLog平台的使用

    [NOTE] 关于DNSLog平台的使用 前言 起因是12.09午夜的Log4j核弹级漏洞 大家验证漏洞的payload:${jndi:idap://XXXX.dnslog.cn/aa} 发现大家用的 ...

  4. 百度开平台BAE搭建网站

    百度开平台BAE搭建网站 一.注册:在百度云注册账号,并且登陆 然后实名验证 二.开始搭建 三.部署项目:我们来把我们的项目提交上去 填写百度云的账号密码 四.删除:删除部署项目 以上就是百度开平台B ...

  5. Symbian开发平台的搭建之VC++6.0Carbide C++ 2.0

    Symbian开发平台的搭建之VC++6.0 来源:http://hi.baidu.com/mrico/blog/item/d518f6ea3f0e5dd2d439c90b.html 开始学习Symb ...

  6. Windows平台下搭建Git服务器

    Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在window ...

  7. 云计算入门科普系列:小型云计算平台怎么搭建?

    俗话说"学起来简单,做起来就难了",小型云计算平台怎么搭建?估计很多人都毫无头绪不知道如何是好,所以下面来讲解一个小型方案的云计算实施例子. 如果说需要满足 60 个以内的终端用户 ...

  8. 怎样组建云计算机,如何搭建云计算平台_搭建云计算平台步骤

    云计算平台简单的理解就是仓库了,给你提供存储运转的空间:比如你查询的任何网络内容都是在某一网络的平台上,大家都可以同时不同地点看到一样的东西.本文给大家介绍如何搭建云平台. 搭建云计算平台步骤 规划- ...

  9. 总结之:CentOS 6.5 LAMP分主机平台的搭建及测试

    前言 前面的文章我们谈到过了LAMP的基础原理以及很多的相关知识了.尤其是httpd.这个强大的.牛气轰轰的web服务器想必大们都再熟悉不过了吧.对他的介绍我们也谈了很多了.这里不再做介绍.那接下来我 ...

  10. 大数据平台的搭建思路是怎样的

    大数据平台的搭建就是企业面临的问题,搭建大数据平台有哪些思路?怎么样的搭建路径可以让企业少走弯路?什么样的架构是业内标准?通过什么手段来分析和展示已有的数据? 或许这些问题会萦绕在您的心头,那么今天就 ...

最新文章

  1. 日10亿级处理,基于云的微服务架构
  2. CF1082E Increasing Frequency
  3. python jieba库用法
  4. APP技巧:微信10个实用小技巧,太实用了,赶紧收藏!
  5. 一个炫酷的仿雷达扫描和扩散效果——自定义View就是这么简单
  6. Linux的开发流程
  7. 《Arduino奇妙之旅:智能车趣味制作天龙八步》一1.6 A计划
  8. 特征选择与特征权重计算的区别
  9. MPB:中大魏泓组-​​无菌小鼠肠道粪菌移植(视频)
  10. 小草手把手教你 LabVIEW 串口仪器控制——VISA 串口配置
  11. OSChina 周五乱弹 —— 那地图上的点到底去哪儿
  12. 使用 easyExcel 生成多个 excel 并打包成zip压缩包
  13. 地理科学与计算机技术的关系,地理信息系统与地理学的关系
  14. Social LSTM: Human Trajectory Prediction in Crowded Spaces 论文翻译
  15. 阿里云培训-AS(弹性伸缩)
  16. 业财一体化系统建设思路
  17. elk笔记20--Analysis
  18. 工作中如何时间管理?
  19. QoS 服务质量介绍说明
  20. 查询常数 [数据库][MySQL]

热门文章

  1. mysql 1436_MySQL错误1436:线程堆栈溢出,用简单的查询
  2. 死记3dmax快捷键有用么?
  3. raw格式镜像文件转vmdk
  4. python与金融风险管理_怎么学习金融风险管理?
  5. 图像修复(拖影、失焦、雨雾、模糊)deblurGAN 论文解读
  6. VS2022 Setup Project 打包
  7. Mac多Python版本共存,多个独立Python开发环境切换。
  8. ATN项目(智能矩阵Atmatrix)是否能做到人工智能界的桥梁,从而改变世界?
  9. 现场总线CANopen设计与应用
  10. 【PHP问题解决办法】Deprecated: Function eregi() is deprecated in