LeetCode快速入门
LeetCode快速入门C++1234567891011121314class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { vector<int> ans; for(int i=0;i<nums.size();i++) for(int j=i+1;j<nums.size();j++) if(nums.at(i)+nums.at(j)==target){ ans.push_back(i); ans.push_back(j); return ans; }; return ans; };};
Java12345678910class S ...
Kali-Linux摸鱼指南
Kali-Linux摸鱼指南12345suapt install bastet #俄罗斯方块apt install nsnake #贪吃蛇apt install ninvaders #侵略者apt install nudoku #数独
PHP入门笔记
PHP入门笔记语言基础数据类型1234<?php $name="..."; echo "xxx".$name."xxx";//.为字符串连接?>
类型转换12345<?php $num='3.1415926r*r'; echo (int)num; $result=settype($num,'integer')?>
类型检测1234567891011121314<?php $boo="043112345678" if(is_numberic($boo)){ echo "xxx"; }else{ echo "xxx"; } if(is_null($boo)){ echo "xxx"; }else{ ...
Web入门-文件上传
Web入门-文件上传MIME类型12345678.html:text/html.txt:text/plain.pdf:application/pdf.word:application/msword.png:image/png.gif:image/gif.mpg .mpeg:video/mpeg.avi:video/x-msvideo
黑名单绕过123456789后缀大小写绕过:.Php空格绕过:.php 点绕过:.php.(Windows系统文件名特性会自动去掉后缀名最后.)::$DATA绕过:Windows下NTFS文件系统特性Apache解析漏洞:解析文件从右往左判断,不可解析再往左判断,例如:aa.php.owf.rar.htaccess文件:以php的方式解析,例如: <FilesMatch "as.png"> SetHandler application/x-httpd-php </FilesMatch>
白名单绕过1%00与0x00绕过:as.php%00.png
常见文件幻数:
jpg:FF D8 FF E0 00 10 ...
Pintools基本用法
Pintools基本用法安装Linux/Ubuntu下载源码,在source/tools/目录下找到文件夹MyPintools,把自己的mypintool.cpp复制过来(或用示例文件)。然后make,即:
1234cp mypintools.cpp source/tools/MyPintoolscd source/tools/MyPintoolsmake obj-ia32/mypintool.so TARGET=ia32 #32位架构make obj-intel64/mypintool.so TARGET=intel64 #64位架构
Windows下载源码,将目录添加到环境变量。Pintools区分32位和64位,目录中的为32位的。为方便使用,将原pin.exe命名为pin.bak,不使用。新建pin32.bat,内容如下:
12@echo off%~dp0\ia32\bin\pin.exe %*
再新建pin64.bat,内容如下:
12@echo off%~dp0\intel64\bin\pin.exe %*
找到source\tools\MyPinTool目 ...
Wireshark常用过滤器
Wireshark常用过滤器http123456httphttp.request.method == "GET"http.request.method == "POST"http.host matches "www.baidu.com|baidu.cn" #可以多个http.host contains "www.baidu.com" #只能一个http contains "GET" #可以为"Host:" "User-Agent:" "Content-Type:" "HTTP/1.1 200 OK"等
tcp123456tcptcp.steam eq 0tcp.port == 80tcp.port >= 80tcp.dstport == 80tcp.srcport == 80
udp12udpudp.port == 80
ip123ip.addr=192.168.1.1 #只显示源/目的IP为19 ...
ISCTF2023个人解题报告
ISCTF2023个人解题报告只写逆向题,其他的题不写。
crackme运行即可。
1./crackme.exe
或者是个upx魔改,二进制改UPX0 UPX1然后脱壳就行了。
mfx_re010Editor打开,把里面所有MFX改成UPX,再upx -d脱壳即可。
123s='HRBSEz7d220317,0de6,3ca2,7dd/,1//27428451d|'for i in s: print(chr(ord(i)+1),end='')
EasyRe实名举报出题人题改完还是错的。
12345678910111213s=']P_ISRF^PCY[I_YWERYC'flag=[]s=[ord(ch) for ch in s]print(s)for i in range(len(s)): if((0x9b-s[i]==88)or(0x9b-s[i]==66)): s[i]=0x9b-s[i] s[i]^=0x11 flag.append(chr(s[i]))print("&q ...
计算机病毒技术
计算机病毒技术木马病毒自动加载1
UPX动态脱壳
UPX动态脱壳
找壳的入口点,即xdbg的EntryPoint,会发现有pushad或4个push。
F8过所有push,在栈窗口中ESP右键打硬件访问断点4Bytes。F9过。
打开Scylla并附加进程。
一般pop后离真正的OEP不远了,找跳转较远的jmp,跳转地址即为真正的OEP。Scylla中输入OEP,dump到本地。
此时程序无法运行,但可IDA分析,因为IAT损坏。
Scylla使用IAT Autosearch,不要选择高级搜索。再Get Imports,再Fix Dump选择刚才dump的文件。
Angr做题笔记
Angr做题笔记00_angr_find程序:
1234567891011121314151617int __cdecl main(int argc, const char **argv, const char **envp){ int i; // [esp+1Ch] [ebp-1Ch] char v5[9]; // [esp+23h] [ebp-15h] BYREF unsigned int v6; // [esp+2Ch] [ebp-Ch] v6 = __readgsdword(0x14u); printf("Enter the password: "); __isoc99_scanf("%8s", v5); for ( i = 0; i <= 7; ++i ) v5[i] = complex_function(v5[i], i); if ( !strcmp(v5, "JACEJGCS") ) puts("Good Job."); else puts ...