自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

欢迎来到神林的博客

一个有梦想的小菜鸟

  • 博客(49)
  • 收藏
  • 关注

原创 记录Hexo的一次迁移

记录Hexo的一次迁移0x00 准备由于更换了主力笔记本的原因,以前用的hexo+GitHub做的博客就再也没有更新,到现在为止也是在使用语雀(语雀打钱!今天想着还是做回来吧毕竟这么个性的博客,我自己也得整一个,所以今天来大刀阔斧(稍微动工,来进行一次迁移。重要文件:- _config.yml    (hexo的重要配置文件,用来绑定git上面的仓库- theme/          (博客主题文件,用来配置hexo博客的主题

2020-05-30 17:40:21 854

原创 编译原理上机题目

7-1 表达式语法分析——递归子程序法 (20 分)#include <bits/stdc++.h>using namespace std;string a;int p;int flag=1;int f=0;void E();void G();void T();void S();void F();void S(){if(!flag) return;if(a...

2019-11-26 22:33:34 434

原创 NTFS文件隐写

NTFS文件隐写NTFS文件是什么NTFS文件系统时windows NT内核系列操作系统支持的、专门为网络和磁盘配额的,文件加密等管理安全特性设计的磁盘格式。NTFS比FAT文件系统更加稳定,更能也更为强大。NTFS数据流文件也被称为 Alternate data streams,简称ADS,是NTFS文件系统的一个特性之一,允许单独的数据流文件存在,同时也允许文件附着多个数据流,除了主文件...

2019-11-07 22:19:10 4151 4

原创 php反序列化漏洞基础入门

反序列化详解什么是php反序列化序列化是php用来打包传输数据的一种方式,就像是货物运输时将大的货物拆卸成小的货物,然后传输到了规定的地点之后在进行拼装的过程,反序列化就是从小物件来进行拼装的过程,整体围绕着serialize()以及unseralize()两个函数进行.在php应用之中序列化已知作为缓存使用,比如session,cookie等,常见的序列化格式有:二进制字符串  ...

2019-11-06 22:09:49 948

原创 python小爬虫脚本

靶场:http://hackinglab.cn/ShowQues.php?type=scripts其中题目很有意思:http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.phppayload:很简单,就是写一个小爬虫,爬下来里面数字内容,然后使用eval函数将其计算出来,不过可能很多简单题目中会使用到这种爬...

2019-11-04 11:45:25 504

转载 LNMP学习流程

2019-11-03 20:49:53 257

原创 so 动态库文件和静态库文件区别

so 动态库文件和静态库文件区别在Linux操作系统中,普遍使用ELF格式作为可执行程序或者程序生成过程中的中间格式。ELF(Executable and Linking Format,可执行连接格式)。ELF文件分类ELF文件格式包括三种主要的类型:可执行文件、可重定向文件、共享库:1、可执行文件(应用程序)可执行文件包含了代码和数据,是可以直接运行的程序。2、可重定向文件(.o)可重定...

2019-10-24 15:49:52 1868

原创 jarvis oj 中的反序列化

jarvis oj 中的反序列化收集信息:发现是张图片,如果没有表明是个misc题目的话,这张图片显然是base64文件流读出来的,新标签看一下:         显然,这是个bsae64文件读出来的,上面 "img ="给我我们提示,显然是个任意文件读,那么我们把它所有必要文件都读出来: index.php shield.php ...

2019-10-24 15:41:12 205

原创 jarvis oj 神盾局的秘密 wp

jarvis oj 中的反序列化收集信息:发现是张图片,如果没有表明是个misc题目的话,这张图片显然是base64文件流读出来的,新标签看一下:         显然,这是个bsae64文件读出来的,上面 "img ="给我我们提示,显然是个任意文件读,那么我们把它所有必要文件都读出来: index.php shield.php ...

2019-09-12 21:55:59 370

原创 CMS在线扫描器

CMS在线扫描器链接链接cms扫描,收集洞

2019-09-11 21:16:45 3654

原创 以jarvis oj api接口为例讲解xxe攻击

以jarvis oj api接口为例讲解xxe攻击xml基本介绍xml被设计来进行数据的传输以及数据储存。xml文档结构包括:其中xxe就是利用DTD中特意声明某种协议再用文档元素进行调用来实现攻击。xml内外部元素由于可以对DTD进行声明,我们有两种选择:内部实体声明:<!DOCTYPE note [<!ELEMENT noet (xxx)>]> 其中...

2019-09-10 22:08:34 516

原创 c语言中变量占用字节数

c语言中变量占用字节数最近在看深入理解计算机系统这本书,上面提到了在32位机器和64机器中int类型都占用4个字节。后来,查了The C Programming language这本书,里面有一句话是这样的:Each compiler is free to choose appropriate sizes for its own hardware, subject only to the res...

2019-09-04 20:26:40 5117

原创 bugku pwn4 学习

2019-08-25 bugku pwn4 学习1.拿到题目先file 一下文件看看文件属性查看得知是64位动态链接库的文件。2.checksec 查看是否开启什么保护然而并没有什么保护PIE 保护指定是对代码段进行保护3.IDA查看内容看到了敏感函数system,看着想办法跳转4.查看main函数,有栈溢出的敏感函数 read想办法利用read 函数5.查看read函数栈中内容完全能够...

2019-08-27 18:41:52 1146 1

原创 bugku pwn2学习心得以及wp

拿到题目:file查看一下文件类型,可以看到 x86-64,以及 dynamically linked,所以 64位,动态连接的。查看一下有没有开什么保护机制:嘛都没开,直接放到64位IDA里面看一看。看到敏感名称函数“getshell”感觉能直接拿flag,方法就是找到一个地方跳转到getshell函数地址,查看一下地址为:0x400715转手看main函数:其中有一个re...

2019-08-25 14:38:58 598 2

原创 函数调用时栈空间的变化

在函数调用的时候会内存分配给函数一段栈内存用于存放数据。函数初次调用分配1 ESP指针指向栈顶 EBP指向栈底,栈底属于高位地址,每次存入数据由栈顶来进行储存。2 调用函数,EIP设定前一个函数结束,ESP所指地址存入EBP位置,此时ESP=EBP3 ESP自动分配空间 ESP-0xch位置,同时进行下一次的存储。此时函数调用成功。函数调用退栈1 ESP=EBP 此时调用下一个函数,先...

2019-08-22 15:05:20 811

原创 pwntools报错“NameError: name 'process' is not defined”

报错及解决Traceback (most recent call last): File "pwn.2.py", line 4, in <module> conn = process("./hexcalc")NameError: name 'process' is not defined错误类型,变量没有声明。解决方法:将文件更名,不要用“pwn”的名字,不然会出...

2019-08-21 16:18:39 6707 3

原创 ubuntu下的pwntools安装及错误处理

安装流程:由于我这里是用的python3.x 并且是32位unbutu,来对pwntools安装的所以出现问题可能比较多,后面我会给出解决方法。环境准备:python3pip3libssl-devlibffi-devpwntools安装:sudo apt-get install libffi-devsudo apt-get install libssl-devsudo ap...

2019-08-19 15:58:44 3562

原创 sql注入种类以及测试方式和python脚本

sql 注入:1.sql注入最重要的过程,单引号判断注入最常见。分为三大类:get、post、cookie简单判断get型:http://host/test.php?id=100’ 返回错误说明有可能注入http://host/test.php?id=100 and 1=1 返回正常http://host/test.php?id=100 and 1=2返回错误如果出现以上三种错...

2019-04-26 20:29:32 3008 1

原创 CTF-中文件上传(2)

0x00:二次渲染今天上午刚刚结束的DDCTF真的是让人脑壳很大,除了膜拜一波大佬之外,还get到了很多的新知识:文件上传中,大部分题目回绕求我们上传图片格式,而我们就会伪造一些图片绕过验证,一些简单的前端验证还有一些服务器端的验证,都是比较简单的,但是有的时候就会涉及到比较困难的知识点,比如今天要说的:二次渲染所谓二次渲染:就是根据用户上传的图片,新生成一个图片,将原始图片删除,将新图片...

2019-04-18 20:00:45 7259

原创 实现端口扫描的python脚本

0x00:端口扫描原理利用python内置函数socket:解析ip地址,对一定的端口进行扫描,设定响应时间和利用多线程加快扫描速度。0x01:python脚本from socket import *import threadinglock = threading.Lock() #调用lock对象openNum = 0threads = []def portScanner(hos...

2019-04-14 16:16:02 601

原创 CTF:web题目中的md5弱类型解析

0x00:md5弱比较md5弱比较,为0e开头的会被识别为科学记数法,结果均为0payload:param1=QNKCDZO&param2=aabg7XSs0x01:md5强比较md5强比较,没有规定字符串如果这个时候传入的是数组不是字符串,md5()函数无法解出其数值并且不会报错,就会得到数值相等;payload:param1[]=111&param2[]=2...

2019-04-11 21:06:50 2914 4

原创 CTF题目中XOR加密解法脚本

0x00:xor加密原理简单异或密码(英语:simple XOR cipher)是密码学中一种简单的加密算法,它按照如下原则进行运算:A {\displaystyle \oplus } \oplus 0 = AA {\displaystyle \oplus } \oplus A = 0(A {\displaystyle \oplus } \oplus B) {\displaysty...

2019-04-10 21:59:53 10895 1

原创 Checksum校验和的原理和python脚本的实现

checksum校验和简介checksum是小尺寸的数据从一个块导出的数字数据为目的的检测错误,可能其期间已经被引入传输或存储。它通常在从下载服务器接收到安装文件后应用于安装文件。校验和本身通常用于验证数据完整性,但不依赖于校验数据的真实性。从数据输入产生校验和的实际过程称为校验和函数或校验和算法。根据其设计目标,良好的校验和算法通常会输出显着不同的值,即使对输入进行的小改动也是如此。加密散列...

2019-04-09 20:25:34 8682

原创 aircrack-ng安装使用

0x00:aircrack-ng介绍Aircrack-ng是一个与802.11标准的无线网络分析有关的安全软件,主要功能有:网络侦测,数据包嗅探,WEP和WPA/WPA2-PSK破解。Aircrack-ng可以工作在任何支持监听模式的无线网卡上(设备列表请参阅其官方网站或[1])并嗅探802.11a,802.11b,802.11g的数据。该程序可运行在Linux和Windows上。Linux版本...

2019-04-08 16:18:34 32032 1

原创 Linux下文件挂载详解

文件挂载:Linux系统下的文件管理采用了树形操作,最上层的是根目录。所谓文件挂载是指将一个单独的文件挂载到一个子文件目录下面,从而形成一个文件系统。挂载目录不可以为空,并且挂载之后该目录下的文件将无法访问。使用mount命令对linux下文件进行挂载:mount [-hV]mount -a [-fFnrsvw] [-t vfstype]mount [-fnrsvw] [-o opt...

2019-04-05 11:24:02 6778

原创 SDUT计算机组成原理(B)第2章测试答案

1假定下列字符码中有奇偶校验位,但没有数据错误,采用偶校验的字符码是(D)。A. 11001011B. 11010110C. 11000001D. 110010012.在双符号位判断溢出的方案中,出现正溢出时,双符号位应当为(B)。A. 00B. 01C. 10D. 113.ASCII码是对(A)进行编码的一种方案。A. 字符B. 汉字C. 图形符号D. 声音4.字长...

2019-04-04 21:06:33 2530

原创 python爬虫学习小结(1)

python爬取豆瓣top250电影代码构造0x01:环境准备利用anaconda:清华镜像:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/IDE:pycharm0x02:构造思路利用requests函数和re函数来进行构造,由于top250页面分成了10页,从而需要进行新的页面的跳转,而top250的名字我是利用正则表达...

2019-04-02 22:05:54 265

转载 WinRAR远程代码执行漏洞结合Metasploit+Ngrok实现远程上线

前言Windows 操作系统下知名老牌的的压缩软件“WinRAR” 被国外安全研究团队爆出严重威胁用户的安全漏洞,被发现漏洞是“WinRAR”安装目录中的一个名为“UNACEV2.dll”的动态链接库文件,该文件自 2005 年发布至今就从未有过更新过,影响时长长达十余年之久。本篇文章鄙人会使用图文+视频的教程来给各位不知道利用的小粉们讲一下,视频教程在文末尾处。漏洞细节: https://r...

2019-03-11 20:48:44 716

原创 phpstudy(xampp)+DVWA的搭建使用以及过程中遇到的问题

0x01:DVWA简介(来自官方文档翻译):该死的漏洞的Web应用该死脆弱的Web应用程序(DVWA)是一个PHP / MySQL的Web应用程序,该死的脆弱。其主要目标是帮助安全专业人员在法律环境中测试他们的技能和工具,帮助Web开发人员更好地了解保护Web应用程序的过程,并帮助学生和教师了解受控类中的Web应用程序安全性房间环境。DVWA的目的是实现一些最常见的Web漏洞,具有各种难度级...

2019-03-10 14:19:19 1438 3

原创 CTF关于ping命令注入问题(1)

题目样式对于看到ping或者ping命令却没有弄waf时就要想到命令注入。具体注入方法看到ping命令就可以利用截断来执行新的命令。首先测试所有的截断符号:‘$’‘;’‘|’‘-’‘(’‘)’‘反引号’‘||’‘&amp;&amp;’‘&amp;’‘}’‘{’'%0a’可以当作空格来用;利用截断符号配合普通命令简单问题基本就出来;例如:ip=127.0.0.1...

2019-03-07 21:45:10 13643 3

原创 关于六层网络结构的协议详解

一:应用层1:HTTP 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标...

2018-12-04 15:23:34 3693

原创 CTF题目中的上传绕过姿势

常用的上传绕过方式总结平时网站上有很多可以本地上传的选项,有一些网站的防护性不好,如果我们上传了一串恶意的代码的话,就会对网站造成一些损害,尤其是上传一句话木马利用菜刀就可以做到链接目标的后台数据库。0x01:前端的验证对于很多页面是利用一段js的脚本实现对后缀名的过滤的,一般这种bp还没有抓到包的时候前端页面就会发出警告,对于这样的页面我们可以利用对前端的js代码进行修改从而绕过前端的...

2018-12-03 21:35:36 10018

原创 关于重启nginx时报错文件丢失问题

重启nginx时出现报错nginx: [error] open() “/usr/local/var/run/nginx.pid” failed (2: No such file or directory)解决办法:找到nginx.conf的文件夹目录,运行命令:nginx -c /usr/local/etc/nginx/nginx.conf然后运行命令:nginx -s reloa...

2018-11-29 20:34:17 748

原创 关于c语言链表的自我救赎

c语言的链表集合了指针,结构体等概念,因为上课没有好好听加上指针概念全部都遗忘了只能靠自己重新学习了,那么我们来分析一下,正向建立链表时每步的意义:struct node{ int data; struct node *next;};定义了一个结构体,其中:struct node *next  虽然结构体中不允许重新调用自己,但是可以调用一个指向自己结构类型的...

2018-10-18 20:54:10 150

原创 CTFweb题目中的md5弱类型题解

md5弱比较,为0e开头的会被识别为科学记数法,结果均为0payload:param1=QNKCDZO&amp;param2=aabg7XSsmd5强比较,没有规定字符串如果这个时候传入的是数组不是字符串,md5()函数无法解出其数值并且不会报错,就会得到数值相等;payload:param1[]=111&amp;param2[]=222真实md5碰...

2018-10-09 20:30:55 6064

转载 http基本请求头详解

自己总结的太短少,直接放上大佬总结的Accept:例:Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8表示客户端支持的数据格式,或者说客户端“希望”接受到的内容类型。这里只是希望,但是服务器具体返回什么样的内容类型,还是由服务器自己决定,但是无论服务器返...

2018-10-03 20:38:09 20850

原创 汇编原理笔记(三)

1:字在内存中储存时,要用两个地址连续的内存单元来存放,子的低位字节存放在低地址单元中,高位的字节放在高地址单元中。2:用mov指令访问内存单元,可以在mov指令中只给出单元的便宜地址,此时,段地址默认在DS寄存器中。3:【address】标识一个偏移地址位address的内存单元。4:在内存和寄存器之间传送字型数据时,高地址单元和高8位寄存器、低地址单元和低8位寄存器相互对应。5...

2018-08-11 17:27:33 556

原创 汇编原理笔记(二)

1:寄存器分为8,16,32,64位,其中的能存储的数值也不同,其中16位寄存器,有能分成高8位和低8位,能够拆成2个8位的寄存器使用,同时,不与16位进制相同的是,高8位和低8位直间没有联系,也不会进位。2:使用命令操作时前后操作对象对的位数要相同。3:地址加法器采用了 物理地址=段地址*16+偏移地址 的方法合成物理地址,这里的16是二进制的16,所以16进制下前移一位就行。4:一...

2018-08-08 18:58:11 286

原创 汇编原理笔记(一)

1:一个内存单元的大小是1B 1kb=1024b 1B=8位的二进制2:cup的各种对内存的操作是通过地址总线(1),数据总线(2)以及控制总线(3)完成的信息交流,例如读取数据,首先从1发送地址到内存,然后3传送命令发给内存,储存器收到命令把所需要的信息从2传给cpu。3:cpu可以直接使用的信息在存储器冲存放。4:在存储器中指令和数据没有任何啊区别,都是二进制信息。5:存储单元...

2018-08-07 17:20:25 2000

转载 对计算机专业有用的书籍

1、书店购买,可以慢慢寻找内容合适自己的,选中拿着结账走人,这种感觉是网购无法代替的。但价格很贵, 一般不建议新华书店买,原价不打折,打折也几乎没太可能是计算机书,VIP会员也不打折。2、网上购买,可以书店选好了网上买。3、电子书,买个Kindle,价格也就在800左右,800块钱对计算机书来说,也可能就几本而已。然后就是网上下载PDF看,有些书的PDF不一定可以下载到,下载不到的可以去买盗版的P...

2018-04-16 22:01:01 1058 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除