WEB安全——CS中Beacon的使用
WEB安全——CS中Beacon的使用Beacons的介绍Beacon是Cobalt Strike为高级攻击者建模的Payload。使用Beacon通过HTTP,HTTPS或DNS出口网络。而且Beacon非常灵活,支持异步和交互式通信。异步通信既低又慢。Beacon将通讯本地,下载任务,然后进入睡眠状态。交互式通信实时发生。
Cobalt Strike能够将多个Beacons链接到一个链中。这些链接的Beacon接收它们的命令,并通过其链中的父Beacon发送它们的输出。这种类型的链接对于控制哪些会话流出网络以及模拟一个规范的演示是有用的,该演示将他们在网络内部的通信路径限制为合理的。这种Beacons链接是Cobalt Strike中最强大的功能之一。我们也可以通过数据拓扑图的方式在展示我们每台上线主机之间的关系和联系。
Beacons的使用右键目标主机,点击Interact即会进入我们的beacon。如图:
进入beacon模式之后,我们首先要修改CS默认的心跳时间(sleep)。一般情况下CS默认的心跳时间为60s,即每一分钟目标主机与我们的Teamserver服务器进行 ...
web入门
web入门参考前景简单提⼀下web安全的前景吧
国家⽅⾯,⽬前是⼤⼒⽀持⽹络空间安全的发展的,专业发展前景⾃然没得说
⽬前就业⽅⾯,信安还是很有优势的,拿本实验室举例,多数学⻓在⼤⼆就已⼊职腾讯、 字节等BAT,或⻓亭、360等安全⼤⼚(诱惑.jpg)
⼯资⽅⾯,既然市场紧缺,⼯资⾃然不会低,技术够好,本科毕业轻松 15k+ (不是吹 的)。
⼯时⽅⾯,⽐开发哥哥们还是要轻松的 (狗头.jpg)
##⼊⻔需要学什么?
###基本概念
学习⼀些基本概念,⽐如什么是⽹站?什么是前端?什么是后端?什么⼜是漏洞?
有编程功底肯定很好,如果是没有计算机基础的⼩伙伴也不要灰⼼,许多小伙伴都是0基础入门的,简单熟悉键盘及计算机的基础操作,也能直接开始学web安全。
了解计算机⽹络基础,看不懂也没关系,但⾄少得了解 http 协议、TCP/IP协议簇等相关 知识
了解什么是CTF
语言###html
HTML 教程 | 菜鸟教程 (runoob.com)学习到表单部分即可,html部分暂时不必深入,看得懂源码就行。
###php
web入门前期很重要的 ...
WebSocket 协议解析
WebSocket 协议解析前言该文章只为了我学习websocket协议总结知识点的作用,不具备原创性,参考链接都会放在末尾
WebSocket 的诞生做客户端开发时,接触最多的应用层网络协议,就是 HTTP 协议,而今天介绍的 WebSocket,下层和 HTTP 一样也是基于 TCP 协议,这是一种轻量级网络通信协议,也属于应用层协议。

WebSocket 与 HTTP/2 一样,其实都是为了解决 HTTP/1.1 的一些缺陷而诞生的,而 WebSocket 针对的就是「请求-应答」这种”半双工”的模式的通信缺陷。
「请求-应答」是”半双工”的通信模式,数据的传输必须经过一次请求应答,这个完整的通信过程,通信的同一时刻数据只能在一个方向上传递。它最大的问题在于,HTTP 是一种被动的通信模式,服务端必须等待客户端请求才可以返回数据,无法主动向客户端发送数据。
这也导致在 WebSocket 出现之前, ...
webpwn学习
webpwn学习前言在HWS遇到一道关于webpwn的题型,虽然后面根据其他师傅的wp复现了感觉不难,但自己分析还是比较麻烦的,这里总结一下webpwn的相关知识。
HWS-httpd整个题其实就是自己实现了httpd的部分功能,听其他师傅说的是用了某个框架,但是修复了其中的路径穿越漏洞。
解题虽然该题修复了路径穿越漏洞,但是还存在一个栈溢出漏洞,并且存在可以在判定完路径穿越后的覆写该路径的漏洞。
通过分析逆向文件,发现存在栈溢出漏洞
又发现在其中一个函数中存在文件执行,但是又从输入的文件名中,把路径穿越漏洞给保护住了
但是文件名名上面存在v12,v12可以在base64解码的时候用来覆盖
于是利用脚本如下
exp1234567891011121314151617181920212223242526272829def base64_encode(text): text_bytes = text.encode('utf-8') # 将文本转换为字节数据 encoded_bytes = base64.b64encode(text_bytes) # 对 ...
WEBPWN-初探
WEBPWN-初探前言在好几次接触到webpwn的一直没去复现,打完熊猫杯就准备以这个为基础开始复现
0x00 2024年熊猫杯这道题给了一个docker环境
检查一下保护发现只有简单的保护
前置知识CGICGI,全称是Common Gateway Interface(通用网关接口),是一种标准,用于定义Web服务器与外部应用程序(通常称为CGI脚本)之间的交互方式。CGI脚本可以用多种编程语言编写,如C、C++、Perl、Python、PHP等。组成CGI通信系统的是两部分:一部分是html页面,就是在用户端浏览器上显示的页面。另一部分则是运行在服务器上的Cgi程序。它们之间的通讯方式如下图:
服务器和客户端之间的通信,是客户端的浏览器和服务器端的http服务器之间的HTTP通信,我们只需要知道浏览器请求执行服务器上哪个CGI程序就可以了,其他不必深究细节,因为这些过程不需要程序员去操作。
服务器和CGI程序之间的通讯才是我们关注的。一般情况下,服务器和CGI程序之间是通过标准输入输出来进行数据传递的,而这个过程需要环境变量的协作方可实现。
1. 服务器将URL指向一个应用程序 ...
web3.js使用手册
web3.js使用手册web3.js是一组用来和本地或远程以太坊节点进行交互的js库,它可以使用HTTP或IPC建立与以太坊节点旳连接。
本文档是web3.js 1.0的API参考手册,其中每个API都包含有示例代码。
web3web3是顶层包,它包含了所有以太坊相关的模块。
1234567891011121314var Web3 = require('web3');> Web3.utils> Web3.version> Web3.modules// 在支持以太坊的浏览器中,Web3.providers.givenProvider将被自动设置var web3 = new Web3(Web3.givenProvider || 'ws://some.local-or-remote.node:8546');> web3.eth> web3.shh> web3.bzz> web3.utils> web3.version
web3.ethweb3-eth这个包用来和以太坊区块链与智能合约交互。
123456 ...
WannaCry勒索病毒分析
WannaCry勒索病毒分析前言第一个分析勒索病毒分析的实践,仅用于记录自己的学习情况,大部分参考网上资料
分析病毒的步骤在工作中,病毒分析师的任务就是从中毒的机器中提取样本,第一时间手工清理或是修复机器现场,之后再做分析。
提取样本,手工清理机器
行为分折,获取病毒行为
详细分折,找到行为的恶意代码
提出解决方案,提取特征给公司产品,完成查杀,编写文档报告,有条件编写专杀工具
病毒背景介绍WannaCry勒索病毒 通过windows操作系统漏洞EternalBlue永恒之蓝 发起攻击。3月14 微软已经发布补丁,由于很多受害者没有及时安装补丁,导致被病毒攻击,计算机中的文件被加密
详细分析病毒分为漏洞利用模块,加密器,解密器
攻击逻辑如下:
攻击者发起攻击,被攻击机器由于存在漏洞,导致自身中毒。中毒之后漏洞利用模块启动,漏洞利用模块运行之后,释放加密器和解密器,启动攻击线程,随机生成ip地址,攻击全球。加密器启动之后,加密指定类型的文件。文件全部加密之后,启动解密器。解密器启动之后,设置桌面背景显示勒索信息,弹出窗口 显示付款账号和勒索信。威胁用户指定时间内不付款文件无法恢复。
...
Vsyscall系统调用
Vsyscall系统调用前言我们知道,在开启了ASLR的系统上运行PIE程序,就意味着所有的地址都是随机化的。然而在某些版本的系统中这个结论并不成立,原因是存在着一个神奇的vsyscall。但是vsyscall仅在部分linux发行版本中可用,如Ubuntu16.04。vsyscall在内核中实现,无法用docker模拟,因此任何与vsyscall相关的实验都改成在Ubuntu 16.04进行。
Vsyscall由于一般的系统调用如果想要向内核传递一些参数的话,为了保证用户态和内核态的数据隔离,往往需要把当前寄存器状态先保存好,然后切换到内核状态,当执行完后还需要恢复寄存器的状态,而这中间就会产生大量的系统开销。因此为了解决这个问题,linux系统会将仅从内核里面读取数据的syscall单独列出来进行优化,如gettimeofday,time,getcpu。而其地址也将是固定的,原型如下:
1#define VSYSCALL_ADDR (-1UL << 20)
通过这段代码可以确定这部分是固定的,也就是ffffffffff600000。
而如果将Vsyscall的内存页d ...
vmware因为异常关闭导致的被另一个程序锁定解决办法
vmware因为异常关闭导致的被另一个程序锁定解决办法起因虚拟机关不掉,我直接重启电脑,重启后就变成这样了
原因.lck文件是VMWare软件的一种磁盘锁文件,由于虚拟磁盘(.vmdk)本身有一个磁盘保护机制,为了防止多台虚拟机同时访问同一个虚拟磁盘(.vmdk)带来的数据丢失和性能削减方面的隐患,每次启动虚拟机的时候虚拟机会使用扩展名为.lck(磁盘锁)文件对虚拟磁盘(.vmdk)进行锁定保护。当虚拟机关闭时.lck(磁盘锁)文件自动删除。可能由于各种非正常关闭虚拟机,而虚拟机还没来得及删除系统上的.lck(磁盘锁)文件,所以当下次启动虚拟机的时候出现了报错信息。
解决方法先删除Ubuntu 64 位-000002.vmdk.lck,启动虚拟机试试
发现可以进来了
结论:删除最近的.lck文件夹就好了
VIM使用教程
vim使用教程一,什么是 vim?Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
连 vim 的官方网站 自己也说 vim 是一个程序开发工具而不是文字处理软件。
vi/vim 按键说明除了上面简易范例的 i, Esc, :wq 之外,其实 vim 还有非常多的按键可以使用。
第一部分:一般模式可用的光标移动、复制粘贴、搜索替换等
移动光标的方法
h 或 向左箭头键(←)
光标向左移动一个字符
j 或 向下箭头键(↓)
光标向下移动一个字符
k 或 向上箭头键(↑)
光标向上移动一个字符
l 或 向右箭头键(→)
光标向右移动一个字符
如果你将右手放在键盘上的话,你会发现 hjkl 是排列在一起的,因此可以使用这四个按钮来移动光标。 如果想要进行多次移动的话,例如向下移动 30 行,可以使用 “30j” 或 “30↓” 的组合按键, 亦即加 ...