- 博客(276)
- 收藏
- 关注
原创 google hacking记录1
来自:https://www.acunetix.com/websitesecurity/google-hacking/摘抄:Naturally, routine manual testing of vulnerabilities that can be picked up by a Google search is lame and very time consuming.
2020-08-12 01:06:03
190
原创 google hacking记录
来自:https://searchsecurity.techtarget.com/definition/Google-hacking摘抄:There are generally two types of vulnerabilities to be found on the Web: software vulnerabilities and misconfigurations.评注:对于已知的特定的软件版本的exploit和可利用的配置,可以通过搜索引擎找出来。摘抄:When an atta.
2020-08-12 00:54:13
161
原创 nikto
对于已知的漏洞,扫描web服务器。检测一个web服务器,找到潜在的问题和安全漏洞,包括:1.服务器和软件的错误配置。2.默认的文件和程序。3.不安全的文件和程序。4.过时的服务器和程序。Nikto是基于LibWhisker构建的,可以在任何有perl环境的平台上运行。它支持SSL,代理,主机认证,IDS入侵等。它可以从命令行自动的更新。下面是Nikto支持的一些选项:-Cgidirs扫描这些CGI目录。...
2020-07-10 01:30:35
226
原创 nginx配置uri可以不用加.php后缀
在nginx.conf加上location / {try_files $uri $uri/ $uri.php?$args;}注意,服务器的php脚本还是要加上php的。
2020-07-05 04:04:38
484
原创 openssl之rsa命令
在linux下安装openssl1.生成rsa私匙。openssl genrsa -out key.txt2.提取钥匙的组成部分openssl rsa -in key.txt -text -noout组成部分会有modulus, publicExponent, privateExponent, prime1, prime2,exponent1, exponent2,coefficient3.提取钥匙的公匙部分openssl rsa -in key.txt -pubout猜测1.私匙可以提
2020-06-29 15:22:12
487
原创 openssl之RSA_generate_key函数
函数声明#include <openssl.rsa.h>RSA *RSA_generate_key(int num, unsigned long e, void (*callback)(int,int,void *), void *cb_arg);//调用例子RSA *private = RSA_generate_key(bits, 35, NULL, NULL);函数解析1.这个函数生成一对钥匙。2.modulus的大小是num bits。3.public exponen
2020-06-29 14:50:56
5889
6
原创 openssh的key结构
struct Key { int type; int flags; RSA *rsa; DSA *dsa;};struct { Key *server_key; Key *ssh1_host_key; Key **host_keys; int have_ssh1_key; int have_ssh2_key; uchar ssh1_cookie[SSH_SESSION_KEY_LENGTH];} sensitive_da
2020-06-28 11:11:56
307
原创 openssl之RSA
openssl实现了ssl和tls协议。下面是RSA的数据结构 struct { BIGNUM *n; // public modulus BIGNUM *e; // public exponent BIGNUM *d; // private exponent BIGNUM *p; // secret prime f
2020-06-28 01:05:44
327
原创 Ubuntu14.04编译caffe报错stdc++11
在makefile中找到CXXFLAGS加上-std=c++11makemake pycaffe报同样的错误在PYTHON_LDFLAGS加上。
2020-06-20 18:04:18
230
原创 xv6进程和内存
xv6隐式分配大部分用户空间的内存,fork会复制父进程的内存,exec会分配足够的内存来包含可执行文件。一个进程如果需要更多的内存,可以调用sbrk来生长它的数据内存n个字节。sbrk返回新内存的地址。...
2020-06-20 09:38:50
185
原创 调试符号
符号通常以PDB文件的形式发布,是由MSVC++的程序数据格式形成的。这些文件最少包含每个函数的函数名字和二进制的静态数据。对于特定的二进制文件,PDB文件将会包含没有文档说明的内部数据结构和局部变量的名字。如果每个东西都有名字,那么二进制就很容易理解。PdbDump可以解释PDB文件。...
2020-06-20 09:18:12
433
原创 QT编译
在ubuntu14.04上用qtcreator打开test.pro由于没有ui_mainwindow.h,所以无法编译可以用qmake test.pro生成Makefile再用make 生成make distclean可以删除生成的文件
2020-06-18 09:02:31
133
原创 malloc在堆里分配内存
动态内存分配器维护着一个进程的虚拟内存区域,叫做堆。它在未初始化的数据区域后开始,向上生长。对每个进程,内核维护着brk变量,指向堆的顶部。
2020-06-15 09:28:25
642
原创 DH秘匙交换算法
利用了指数的性质A对B发送g^n mod pn只对A可见B对A发送g^m mod pm只对B可见所以它们有共同的密匙g^(mn) mod p
2020-06-13 09:22:37
162
原创 使用转义字符更改终端标题
环境为ubuntu先把.bashrc的PS1变量注释掉,否则每次标题值都会是PS1的值。source ~/.bashrc使之生效echo -e “\033]0;要改的名字\007”会改变终端标题putty0.53b版本以下可以使用printf "\033[20t"打印终端标题...
2020-06-12 15:26:00
139
原创 Linux往文本文件写入转义字符
linux往文本文件写入ESC字符在终端输入printf “\033” > file.txt\033是ESC字符的8进制可以用man ascii查看ESC字符就会保存在file.txt中
2020-06-11 17:29:21
1053
原创 putty的终端输入数据结构
struct bufchain_granule;typedef struct bufchain_tag { struct bufchain_granule *head, *tail; int buffersize;} bufchain;#define BUFFER_GRANULE 512struct bufchain_granule { struct bufchain_granule *next; int buflen, bufpos; char buf[
2020-06-10 16:09:58
175
原创 windbg preview搜索字符串
lmf m 模块名可以定位模块的起始和结尾地址s -sa 模块的起始地址 模块的结尾地址可以搜索整个模块的地址
2020-06-09 21:29:40
569
原创 sed替换字符
sed -i "s/\s/,/g 文件名把一个或多个空格替换为逗号sed -i "s/\s\\x/g 文件名把一个或多个空格替换为\x
2020-06-08 11:26:00
721
原创 得到windows 2000中kernel32.dll中函数的地址
把windows2000下的kernel32.dll拷贝到windows 10,用x32dbg打开,在符号选项下可以查看函数的地址。
2020-06-07 17:53:19
213
原创 windows网络编程
copy自别的博客#include <WinSock2.h>#include <stdio.h>#include <Windows.h>/* 要使用winsock API,就要包含ws2_32.lib这个库 /#pragma comment(lib, “ws2_32.lib”)int main(int argc, char argv[]){//判断输入参数是否正确if(argc != 2){printf(“Usage:%s PortNumber\n”
2020-06-06 10:52:28
146
原创 Win32 API和PE-COFF
一个熟练的Linux程序员可以写一个程序直接和内核交流,比如通过open或者write函数。在Windows则没有那么幸运了。每个新的安装包和Windows NT的发布,都改变了内核的接口,还有对应的库的集合。DLLs给进程提供了一种方式,用来调用不是可执行文件中的函数。Windows API通过有序的dlls集合来实现了,所以任何使用Win32 API的进程就是动态库。一个PE文件在开始部分有输入和输出表。输入表指示了PE需要什么文件和函数。输出指示了DLL提供了什么样的函数。它也标记了一旦被加载到内存
2020-06-05 15:58:18
213
原创 编写windows的shellcode
写windows的shellcode在很长时间是一件秘密的事。问题是,它不像Unix的shellcode, 你没有已知的系统调用API。而是,进程要加载函数指针到外部函数,比如CreateProcess或者ReadFile到内存的不同地方。
2020-06-04 17:44:24
221
原创 metasploit命令
使用msfbinscan可以获得dll中的jmp esp指令的地址msfbinscan -j esp user32.dll
2020-06-03 23:06:30
139
原创 yuv420转化为rgb
yuv420的Y通道和原图像的大小是一样的。u和v通道的宽和高都是原图像的一半。就是每一个Y都有4个相同的U和V与之对应。转化公式为R=Y+1.402*(V-128)G=Y-0.34414*(U-128)-0.71414*(V-128)B=Y+1.772*(U-128)
2020-06-01 16:34:34
562
原创 darknet的detection数据结构
typedef struct { float x,y,w,h;} box;typedef struct detection { box bbox; int classes; float *prob; float *mask; float objectness; int sort_class;} detection;
2020-05-29 14:20:31
453
原创 win10安装vc++6
1.下载vc++62.右键setup,设置兼容winxp,按步骤安装3.最后会一直停在等待系统更新,直接退出程序如果出现问题,可能是其它程序的影响,比如office。
2020-05-29 08:32:58
261
原创 过程
过程是软件中一种很重要的抽象。它提供了一种封装代码的方式,用一组特定的参数和一个可选的返回值实现了某种功能。过程在高级语言中,数据和代码是在一起的,一般不会区分它们,数据一般是函数的传入的参数,函数在开始的地方定义的变量,代码是接下来的代码段。过程在汇编语言阶段是有明显区别的,首先它们在内存的不同地方,栈是储存数据的地方,还有专门储存代码的地方。代码段一开始要初始化要使用的数据段。...
2020-05-27 08:52:18
238
原创 不同的加密技术
SSH和以前的协议对比的优势所在就是它使用了加密来确保主机和客户之间信息的安全传输。Host是你想接入的远程服务器。Client是你正在使用的电脑,用来接入Host的。SSH使用了三种不同的加密技术。1.对称加密。2.非对称加密。3.Hashing。对称加密使用的是私密密匙。它被用来在客户端和主机进行加密和解密。任何拥有这个钥匙的人都可以解密传输的信息。对称加密也经常被叫做共享钥匙或者共享秘密加密。这是因为只用一个钥匙被使用,或者使用一对钥匙,但一个钥匙很容易根据另一个钥匙算
2020-05-24 22:13:45
231
原创 WinMain: 应用的入口点
每个Windows程序包含了一个入口点函数,WinMain或者wWinMain。wWinMain的声明:int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow);这四个参数是:hInstance是“实例的句柄”或者模块的句柄“。操作系统使用这个值来鉴别可执行文件,当它被加载进内存时。实例句柄对特定的Windows函数是必须的--比如加载图标。hPreI
2020-05-24 11:27:12
452
原创 用Borland编译程序
1.下载Borland编译器2.安装后,把bin目录添加到PATH环境变量中。3.查看readme,配置两个cfg文件,作用是找到头文件和链接库。注意在windows下用记事本会保存为txt格式,可以用另存为改为cfg格式。4.make -f MAKEFILE编译程序。...
2020-05-23 17:08:22
271
原创 ssh客户端
ssh客户端是一个程序用来登录远程的机器和在远程机器上执行代码。它用来替代rlogin和rsh,并且提供了安全的在两个主机之间的加密通信。验证OpenSSH客户端支持SSH协议1和2。默认使用协议2。
2020-05-23 15:49:39
637
原创 ruby的super
super一般用在子类的初始化函数中它的作用是调用父类的初始化函数1.super不带括号,表示用子类的初始化函数的参数来调用父类的初始化函数。2.super()带括号,表示用括号里面的参数来调用父类的初始化函数。如果括号里面是空的,就是不往父类里面传参数。...
2020-05-23 10:55:53
289
原创 rats使用
rats是Rough Auditing tool for security的缩写rats是一个粗略的安全审计工具。它可以用来扫描C, Perl, PHP, 和Python源码。发现常见的安全问题,如缓冲区溢出,TOCTOU(TIME OF CHECK, TIME OF USE)。正如它名字所暗示的那样,它只对源码进行粗略的扫描。它不会找到每个错误,也可能找到的错误不是错误。手动查看代码还是必须的。在开始的时候,RATS会扫描在命令行指定的每个文件,或者目录下的每个文件。扫描完成后,它会产生一个报告。报
2020-05-20 13:48:27
1439
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人