多次base64过的密文解码脚本 import base64 def decode(f): n = 0 while True: try: f = base64.b64decode(f) n += 1 except: print('[+]Base64共decode了{0}次,最终解码结果如下:'.format(n)) print(str(f,'utf-8')) break if __name__ == '__main__': f = open('./flag.doc','r').read(…
熊师傅牛逼 最近在学IOT,如果在wsl里模拟固件,即使启动成功,也无法成功的在本机访问服务,一开始也没学过计网,也不了解wsl的网络机制,被这个问题困扰好久,只能在虚拟机里去运行,但我实在是不喜欢虚拟机,因此执着于研究wsl如何才能启用Firmae,今天在熊师傅的帮助下终于成功,下面说一下原理和流程 原理 由于我不是很懂计网,还在学习,只能用不专业的语言来描述一下原理,但或许不专业的语言更有助于其他小白理解这个问题 wsl的网络是如何运作的呢? 正常wsl里的服务是能够访问的到的,让我们来看一…
goahead webserver源码分析 - CSlunatic - 博客园 (cnblogs.com) 基于goahead 的固件程序分析 - hac425 - 博客园 (cnblogs.com) Dlink DIR-823G 漏洞挖掘过程 - 先知社区 (aliyun.com) https://ntpg.bebegenio.com/api/v1/client/subscribe?token=740331f6cfeb8bf66dbff6f83c5c478d
最近开始学习IOT技术,不得不说这个环境搭建真的是要人老命,一点一点说吧 binwalk 首先是binwalk,这是一个非常好用的固件解压软件,输入以下指令下载 git clone https://github.com/ReFirmLabs/binwalk.git cd binwalk python setup.py install 或者 sudo apt-get updatesudo apt-get install binwalk binwalk主要功能如下 1.扫描选项: -B,…
该死的猫猫!!!本来一开始想拿apple2去打,不想学cat了,于是自信的套了一通板子之后却怎么也出不了。究其原因是因为这个题是个白名单,并且没有exit,这就导致只能通过malloc_assert去触发FSOP,然而走malloc_assert和exit这两个函数的IO调用链有些区别,虽然两者都要利用largebin attack去修改一个值,但前者修改的是_IO_list_all的值,后者修改的是stderr的值,后续的函数执行也有区别。在malloc_assert的时候会先触发__fxpr…
之前装onegadget的时候,gdb莫名变白了,查了半天也不知道该如何解决,情况如下 后来经过高人指点,只需要把tilix删掉就好了 sudo apt remove tilix 删掉之后就好看多了,感谢cy
自己编的pwn的板子 # -*- coding: utf-8 -*- from __future__ import absolute_import from __future__ import division import abc import logging import os import re import six import string import subprocess import sys import threading import time from six.moves …
题目分析 增删改查都有,存在uaf,可以直接largebin attack 禁用了open,openat,execve等 思路分析 largebin attack之后把_IO_list_all改成堆地址,接着打一个apple2即可劫持程序控制流,但是由于程序禁用了open和openat2,所以常规的orw不能用,故一下有两个思路 1.利用openat2系统调用代替open,调用号为437,其函数原型如下 ssize_t openat2(int dfd, const char* filename,…
house of apple1 apple1有4种打法,我目前只学了一种,该方法的前置知识为largebin attack和house of emma,如有不懂的请移步博客主页 apple1原版文章在这里,本文是对该文的具体分析和细节补充 攻击的效果 在任意地址写一个堆地址 实现的条件 1、程序从main函数返回或能调用exit函数2、能泄露出heap地址和libc地址3、能使用一次largebin attack(一次即可) 利用原理 结合emma所写,在2.24之后vtable有检查,所以伪造…
网上各种文章都说emma是kwwi的延伸,讲的都有点模糊,但我没学过kwwi,好不容易才学会,所以今天来讲一下emma。 达到的效果 执行任意函数或gadget 实现的条件 可以控制或伪造一个file结构体,重点是能控制它的vtable指针 如何进行攻击 由于在2.24之后,新增了对vtable的检查机制(即调用vtable的函数之前,要先检查vtable指针是否在__start___libc_IO_vtables和__stop___libc_IO_vtables之间,也就是只能调用者二者之间所…