HackPluto's Blog

HackPluto's Blog

it's better to burn out than to fade away

自己开发编译器(1)
为了对计算机底层有一个更充分的认识,以及对编译原理有更深入对理解,我决定自己动手写一个编译器。在这里记录一下开发的过程和体会。 大致想法: 基于C语言编写 可以实现对自身的编译,也就是可以compile itself 针对真实的硬件平台可以工作,目前想法是针对X86架构和32位ARM 编译器工作的基础编译器的工作是将一种语言(通常是高级语言)的输入转换为不同的输出语言(通常是比输入低的语言)。主要步骤是: 做词法分析 以识别词法要素。 解析输入,即识别输入的语法和结构元素,并确保它们符合语言的语法。 做输入的语义分析,即理解输入的意思。 将输入的含义翻译成另一种语言。在这里,我...
蓝桥杯刷题记录
马上就是蓝桥杯省赛了,冲一波,好好准备一下,记录一下刷的蓝桥杯真题 蓝桥练习系统整商问题水题123456789101112int a,b;int main(){ printf("Please enter the dividend:\n"); cin>>a; printf("Please enter the divisor:\n"); cin>>b; while(b==0){ printf("Error: divisor can not be zero! Please enter a new divis...
使用free-libc,任意切换程序libc版本
free-libcfree-libc是致力于在一个ubuntu环境下实现做各个ubuntu版本环境题目的项目。安装完成后,你可以使用clibc(change libc)指令指定你的程序加载什么样版本的libc,使程序在你的ubuntu环境下以高版本或者低版本的libc库去运行。在做一些ctf pwn的题目时就会很方便,做题的时候就不需要频繁切换虚拟机。 安装1231,git clone https://github.com/dsyzy/free-libc.git2,cd free-libc3,sudo sh ./install gfree-libcgfree-libc是基于free-li...
使用firmware-mod-kit修改路由器固件
firmware-mod-kit 使用教程firmware-mod-kit工具包可用于提取固件中的文件系统,然后进行进行修改,并重新打包成固件。我们可以使用它对固件做定制化的修改,但是也有可能被恶意地用作固件中添加后门等,所以在下载固件时应到官方网站下载,并检查固件是否被修改过。 官方文档 环境配置1sudo apt-get install git build-essential zlib1g-dev liblzma-dev python-magic clone代码1git clone https://github.com/rampageX/firmware-mod-kit.git 编译...
netgear固件分析与后门植入
netgear固件格式分析及重新打包使用binwalk提取固件1binwalk -e R7000-V1.0.9.88_10.2.88.chk 固件由netgear header(0x3A字节) +TRX header(0x1c字节)+linux kernel+squashfs文件系统构成。 netgear header前0x3A字节是netgear自带的header,123456Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F00000000 2A 23 24 5E 00 00 00 3A 01 01 00 03...
python多线程端口扫描器
python多线程端口扫描器Nmap是常用的端口扫描和主机探测工具,但是Nmap在扫描时会去扫描很多和我们最终目的不相关的信息,以及Nmap虽然官方说高版本支持多线程但是具体和操作系统具体匹配效果不一定好,所以我决定自己用python写一个轻量级的主机和端口扫描器。 主机探测我选用IPv4 B网段作为实验网段,IP为:128.16.0.0/20对于主机探测常用的方式是ICMP数据包探测,对于python来说可以scapy库自己构造ICMP包,但是我在这里使用python-nmap,可以直接发送ICMP探测包,同时使用python多线程可以提高探测速度。 gevent并发编程目前有四种方式...
Stunnel环境配置与源码分析
Stunnel 环境搭建Stunnel是一款可以加密网络数据的TCP连接,并可工作在Unix和Windows平台上,它采用Client/Server模式,将Client端的网络数据采用SSL(Secure Sockets Layer)加密后,安全的传输到指定的Server端再进行解密还原,然后再发送到访问的服务器。 基于Ubuntu16.04搭建在官网下载5.56版本源码 编译安装12./configure;make && make install; 生成证书123openssl genrsa -out key.pem 2048openssl req -new -x50...
2020强网杯线上赛pwn题解
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960#coding=utf8from pwn import *context.log_level = "debug"p = remote("123.56.170.202",12124)#p = process("Siri")lib = ELF("libc.so.6")def fmtstr(payload): p.recvuntil(">>> ") p.se...
SophosXG 防火墙:CVE-2018-16116,CVE-2018-16117漏洞分析复现
实验环境物理机:MacOS 工具:VM,Firefox,JD-GUI,Burpsuite CVE-2018-16116漏洞介绍Sophos XG firewall是英国Sophos公司的一款下一代端点保护与企业级防火墙产品。Admin Portal是其中的一个管理门户。 Sophos XG firewall 17.0.8 MR-8版本中的Admin Portal的AccountStatus.jsp文件存在SQL注入漏洞。该漏洞源于基于数据库的应用缺少对外部输入SQL语句的验证。攻击者可利用该漏洞执行非法SQL命令。 详情 环境配置安装虚拟机首先是在Sophos官网下载虚拟机文件,下载前需...
Wireshark分析TLS1.2通信过程
Wireshark分析TLS1.2通信过程本文主要记录一次HTTPS通信过程中的数据包,使用wireshark抓包,着重分析TLS协议数据包 数据包地址 数据包比较小 先是TCP三次握手的过程,从目标端口是443可以看出这是一个HTTPS通信 TLS协议TLS协议栈主要分为两层 底层:TLS记录协议 上层:TLS握手协议、TLS密码变化协议、TLS警告协议 TLS记录协议:建立在可靠的传输协议(如TCP)之上,对上层协议进行封装,提供保密性和完整性。上层协议实现客户和服务器之间会话的建立、认证和密钥协商。 TLS握手协议位于SSL记录协议之上 用途:建立SSL会话和连接,协商协议版...
avatar
HackPluto
witness me
FRIENDS
friendA friendB