- 博客(210)
- 资源 (5)
- 收藏
- 关注
原创 Link & lnk
硬链接是指多个文件名指向同一个物理文件的链接关系。它们在文件系统中具有相同的 inode 号(索引节点号),但可以位于不同的目录中。当创建硬链接时,实际上是为文件增加了一个新的路径入口注意1:inode是Unix/Linux文件系统的一个概念,用于存储文件的元信息。Windows使用不同的文件系统,称为NTFS或FAT32,它们并不依赖inode 软链接是指一个文件名指向另一个文件或目录的符号链接。与硬链接不同,软链接实际上是一个特殊类型的文件,其中包含指向目标文件或目录的路径信息。
2024-05-10 17:14:12 1001 1
原创 [二进制学习笔记]C中的格式化字符串
格式化字符串(format string)是一些程序设计语言的输入/输出库中能将字符串参数转换为另一种形式输出的函数。例如C、C++等程序设计语言的printf类函数,其中的转换说明(conversion specification)用于把随后对应的0个或多个函数参数转换为相应的格式输出; 在格式化字符串中 % 是存在特别意义的,我们要打印百分号必须使用2个 % 才能在控制台上打印出一个 % 实际输出字符的个数不足域宽,则根据左对齐或右对齐进行填充(实际长度小于格式化长度)...
2022-08-08 17:36:19 7779 1
原创 [二进制学习笔记]Ubuntu20.04关闭开启ASLR
ASLR(Address space layout randomization)是一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的的一种技术。 默认情况下是该文件存储的数值是2(0表示关闭ASLR,2表示开启ASLR) 可以使用下面的语句修改文件中的数值,来达到关闭ASLR的目的。...
2022-08-08 12:07:33 7351
原创 [二进制学习笔记]LibcSearcher安装
这是针对CTF比赛所做的小工具,在泄露了Libc中的某一个函数地址后,常常为不知道对方所使用的操作系统及libc的版本而苦恼,常规方法就是挨个把常见的Libc.so从系统里拿出来,与泄露的地址对比一下最后12位。 详细的安装过程其实github上就有,我在这里炒个冷饭(工具地址:https://github.com/lieanu/LibcSearcher)......
2022-08-08 11:40:39 1680
原创 [二进制学习笔记]LibcSearcher报错no matched libc
git clone git://github.com/niklasb/libc-database # 重新拖一个库下来。 很纳闷,我都已经安装了LibcSearcher,而且在在线查询网上也存在版本号,但是为什么就是没有呢? 简单的讲就是如果LibcSearcher默认的库中没有你所需要的版本,那么就需要你手动下载一下了。(1)rm -rf libc-database/* # 删除原有的所有配置文件。 查看libc-database文件夹文件夹下面有一个说明MD文档。...
2022-08-08 11:40:02 1063 3
原创 [二进制学习笔记]Ubuntu20.04环境下模拟原始pwn测试环境
当前我的环境是Ubuntu20.04,默认情况下,通过GCC编译获得的可执行文件是64位的,并且添加了许多保护机制,这是对我们初学pwn很不利的,所以在这里我使用了下面的语句来编译生成一个基本的(和老版本编译生成的一致的)可执行文件:...
2022-08-04 10:30:54 176
原创 [二进制学习笔记]Ubuntu20.04安装pip2&pip3
ubuntu20.04版本自带pyhton2和python3两个python 的版本。
2022-08-04 10:29:50 1563
原创 [二进制学习笔记]Linux通过GCC编译生成32位程序
我所使用的是ubuntu20.04,在该环境下GCC默认生成的是64位的程序,如果希望编译生成32为程序,我们需要通过以下操作。(ia32-libs已经被lib32z1取代)GCC指定编译生成程序位数。
2022-08-04 10:17:53 1404
原创 [二进制学习笔记]Linux使用GCC过程中忽略特定警告
gcc编译过程中会因为程序上某些书写不规范而导致出现warning(警告),如果想要屏蔽特定的警告,我们可以使用下面的方法(注意:不推荐屏蔽警告信息):警告类型"
2022-08-04 10:15:15 777
原创 [网络安全]Netdiscover的基本使用
文章目录NetdiscoverNetdiscover基本概念Netdiscover参数主动发现被动发现NetdiscoverNetdiscover基本概念ARP 侦查工具 Netdiscover Netdiscover 是一个主动 / 被动的 ARP 侦查工具。该工具在不使用 DHCP 的无线网络上非常有用。使用 Netdiscover 工具可以在网络上扫描 IP 地址, ARP 侦查工具 Netdiscover 检查在线主机或搜索为它们发送的 ARP 请求Netdiscover参数参数
2021-01-23 20:14:05 1734 2
原创 [网络安全]Netcat的基本使用
文章目录NetcatNetcat基本概述参数的介绍及使用内容重定向常用方法netcat 建立后门windows建立后门监听型后门连接型后门Linux建立后门监听型后门nc -l -p [port] -e /bin/bash连接型后门连接转发向内网中能够连接的机器中写入批处理文件(用于nc远程连接内网中不能通信的机器)客户端nc远程连接内网中能够连接的电脑反弹shell基于Python的shell反弹基于Bash的shell反弹内网穿透被防火墙拦截(不支持nc -e参数)被防火墙拦截(不支持nc -e参数)
2021-01-23 19:43:33 670
原创 [Lua语言编程]Lua语言基础知识
文章目录`Lua``Lua`语言的起源`Lua` 特性`Lua下载`Linux 系统上安装Mac OS X 系统上安装Window 系统上安装 `Lua``Lua`语言语法`Lua`标识符`Lua`关键字`Lua`全局变量`Lua`数据类型nil(空)boolean(布尔)number(数字)string(字符串)注意(关于字符串拼接和+):算术运算时的“+”字符串的拼接字符串长度的测量table(表)table的长度function(函数)thread(线程)`userdata`(自定义类型)`Lua`变
2020-11-03 18:58:46 1643
原创 [网络安全]诸神之眼--Nmap的使用
文章目录NmapNmap下载windows下下载linux下下载目标说明CIDR概念Nmap通过CIDR进行扫描域名/IP扫描单个域名/IP扫描多个域名/IP扫描范围型域名/IP扫描从文本中获取扫描(import list)随即扫描(import ramdom)排除某些主机/网络的扫描(exclude)排除某些主机/网络的扫描(从文件中读取,excludefile)主机发现主机发现方法1.ping命令2.Nmap指令原理列表扫描(scan list)ping扫描(scan ping)高强度扫描(无ping)
2020-11-02 09:27:46 2037 1
原创 [网络安全]诸神之眼--Nmap的使用(一)
文章目录NmapNmap下载windows下下载linux下下载域名/IP扫描单个域名/IP扫描多个域名/IP扫描范围型域名/IP扫描扫描相关状态的端口扫描open状态的端口扫描closed状态的端口扫描filtered状态的端口扫描open/unfiltered状态的端口扫描closed/unfiltered状态的端口快速强制扫描CIDR按顺序扫描CIDR端口服务返回当前嗅探主机系统信息预测当前嗅探主机系统信息返回嗅探目标的详细结构返回关于RPC网络文件信息返回更多嗅探目标相关的信息设置最大重新扫描次数设
2020-10-31 14:53:48 3573 6
原创 [python基础]生产者消费者模型
文章目录生产者消费者模型为什么要使用生产者消费者模型什么是生产者消费者模型基于队列实现的生产者消费者模型采用`JoinableQueue`队列实现生产者消费者模型生产者消费者模型在并发编程中使用生产者和消费者模式能够解决绝大多数并发问题该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度为什么要使用生产者消费者模型在线程世界里,生产者就是生产数据的线程,消费者就是消费数据的线程在多线程开发当中,如果生产者处理速度很快,而消费者处理速度很慢,那么生产者就必须等待消费者处理完,才
2020-10-29 11:02:09 195
原创 [python基础]进程基础知识
文章目录进程概念1. 什么是进程3.进程的属性进程的名称4.程序和进程的区别进程的调度算法1.短作业优先:2. 先来先服务:3. 时间片轮转法4.多级反馈算法1.进程的开启和关闭进程之间的通讯(IPC,Inter Process Communication)处理进程之间的通讯的工具叫做__通讯中间件__2. 进程的三状态图1. 就绪(Ready)状态2. 执行/运行(Running)状态3. 阻塞(Blocked)状态先看个多进程的小案例上下文和启动方式(重点)在进程之间交换对象1.队列1.`multipr
2020-10-29 10:18:54 361 1
原创 [python基础]线程基础知识
文章目录线程概念创建一个简单的线程1. 多线程与多进程的`pid`的区别2. 多线程与多进程的效率比较3. 数据共享Thread类的方法和属性threading模块基础方法为什么最小是`32kib`的一个整数?保护线程创建线程本地数据锁对象观察下面程序1. 互斥锁`class threading.Lock`创建互斥锁对象`threading.Lock()`特殊情况——死锁2. 递归锁`class threading.RLock`创建递归锁 `threading.RLock()`运用递归锁解决死锁现象其余对象
2020-10-29 01:07:07 197 1
原创 [python网络编程]用户验证
文章目录用户验证使用haslib来实现使用hmac来实现用户验证使用haslib来实现server服务端import socketimport osimport hashlibimport timeimport structimport hmacIP = ""PORT = 0SECRET_KEY = b""server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)server.bind((IP, PORT))
2020-10-25 23:03:33 231
原创 [python网络编程]文件上传
文章目录文件上传文本文件上传大文件上传文件上传文本文件上传server服务端import socketimport jsonimport structimport timeIP = ""PORT = 0server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)server.bind((IP, PORT))server.listen(5)client, _ = server.accept()size = s
2020-10-25 21:55:07 162
原创 [python基础]进程池基础知识
文章目录线程Thread`class threading.Thread(*group=None*, *target=None*, *name=None*, args=(), kwargs={}, daemon=None*)`创建线程本地数据锁通过网上的一个实例:进程先看个实例上下文和启动方式在进程之间交换对象进程协程协程更多关于python线程线程Threadclass threading.Thread(*group=None*, *target=None*, *name=None*, args
2020-10-24 22:02:14 386
原创 [python基础]装饰器、迭代器、生成器
装饰器装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功能本身无关的代码并继续重用现在python装饰器支持了@语法糖带参数的装饰器基于类实现的装饰器装饰器函数其实是这样一个接口约束,它必须接受一个callable对象作为参数,然后返回一个callable对象。
2020-10-23 00:24:19 329 4
原创 [python基础]map、reduce、lambda、filter四个基本函数的使用
map函数map函数根据提供的函数对指定的序列(可迭代的)做映射定义:map(function, sequence[,sequence,…])—>list返回一个map类型的可迭代对象def create_content(mes): return map(lambda x: x+2, mes)def write_content_item(result): for i in result: print(i, end=" ")content = cr
2020-10-22 18:37:25 119
原创 [python爬虫]常用user_agent.py
在分布式爬虫中,为了获取多样的爬虫信息,我们通常会采用不同的user_agent去访问,我在这里提供了一些user_agentimport random# pc端的user-agentuser_agent_pc = [ # 谷歌 'Mozilla/5.0.html (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.html.2171.71 Safari/537.36', 'Moz
2020-10-18 11:16:40 288 1
原创 [网络安全]ssh私钥泄露
一、网络配置虚拟机->可移动设备->网络适配器->设置将靶场和kali虚拟机的网络连接模式改为一致(要么都是桥接模式,要么都是NAT模式,这里在本机测试建议使用NAT模式)
2020-10-16 15:18:35 1820
原创 [网络安全]SSH其他指令
SSH其他指令在Linux上后台运行程序,终端关闭时会中断服务解决:使用nohup命令让程序在关闭窗口(切换SSH连接)的时候程序还能继续在后台运行(no hang up)nohup + 程序进程SCP跨机远程拷贝scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令(和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的)可能会稍微影响一下速度两台主机之间复制文件必需得同时有两台主机的复制执行帐号和操作权限scp命令参数:
2020-10-16 14:18:46 1395 5
原创 [网络安全]SSH服务简介
SSH服务详解第1章 SSH服务1.1 SSH服务协议说明Secure Shell(SSH,安全外壳)是由IETF(The Internet Engineering Task Force)制定的建立在应用层基础上的安全网络协议SSH是专为远程登录会话和其他网络服务提供安全性的协议,可有效弥补网络中的漏洞(传统的网络服务应用程序如ftp、pop和telnet等在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是
2020-10-16 13:02:23 1459 4
原创 [网络安全]SSH密钥公钥及部分参数解析
公钥登录每次登陆远程主机都需要输入密码,很不方便,可以利用密钥对进行连接,还可以提高安全性在本机生成密钥对ssh-keygen -t rsat 表示类型选项,这里采用rsa算法加密将公钥复制到远程主机中使用ssh-copy-id命令将公钥复制到远程主机ssh-copy-id会将公钥写到远程主机的 ~/ .ssh/authorized_key 文件中ssh-copy-id [email protected]从此登录此电脑就不需要输入密码了远程主机将用户的公钥,保存在登录后的用户主目录
2020-10-16 09:27:47 1344
原创 [网络安全]SSH远程连接
ubuntu 查看ip地址插件下载 sudo apt install net-tools查看ip地址 sudo ifconfig -aSSH的安装SSH分为客户端openssh-client和服务器openssh-server,可以利用以下命令确认电脑是否安装了客户端和服务器:dpkg -l | grep sshssh服务端1、安装ssh服务端(必须的):sudo apt-get install openssh-server2、确认sshserver是否启动ps -e | grep ssh
2020-10-15 23:20:12 1202 3
原创 gulp
const { src, task, watch, dest, lastRun, series } = require('gulp');const $ = require('gulp-load-plugins')();const moment = require('moment');const bs = require('browser-sync').create();const del = require('del');// 使用gulp-minify-css压缩css文件/** * gu
2020-10-01 01:10:56 133
Git-2.26.0-64-bit (1).tar
2020-07-27
TortoiseGit-2.9.0.0-64bit.zip
2020-07-27
git2.26.0.zip
2020-07-26
less.min.js.zip
2020-07-24
KoalaSetup.zip
2020-07-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人