3thernet Blog

「紫垣星月,禁阶灯火,朝马闹晨钟」

【HTB】topology writeup

并不常见的命令注入

靶机地址:topology.htb 0x01 信息收集 (1)端口扫描 nmap –sV 10.10.11.217 发现22 ssh和80 http端口开着 (2)网页分析 网页是某大学数学拓扑学小组的主页,有价值的信息: 邮箱:lklein@topology.htb(可能存在邮件服务器,也可能使用的是企业邮箱) 电话:+1-202-555-0143(华盛顿特区) “On t...

Linux系统迁移

此前已在电脑上安装了双系统,最近又加装了一块固态硬盘,因此自然想着把本来在同一块硬盘上的系统分开分别放在两块硬盘上。对 Windows 进行迁移并不容易,而 Linux 下“一切皆文件”,自然就会简单很多。 0x01 分区 首先使用 gnome-disks查看分区情况,主要记住带有星号和三角符号(正在挂载)分区的UUID,之后要用到。然后使用sudo gprepared分配硬盘: ...

NAT

1. 简介 NAT,全称Network Address Traslation,是一种将 IP 地址从一个地址域映射到另一个地址域的方法,旨在为主机提供透明路由。 通俗地讲,NAT能够让内网中[已经分配私有IP]{style=”color: #ff9900;”}但[没有分配公网IP]{style=”color: #3366ff;”}的主机和Internet上的主机通信。 NAT的实质是修...

【认证机制】4-Cookie-Session基本概念

1.   Cookie 1.1 概述 Cookie是一种在远程[浏览器端]{style=”background-color: #ffff00; color: #ff0000;”}存储数据并以此来跟踪和识别用户的机制。 Cookie是Web服务器暂时存储在用户硬盘上的一个文本文件,当用户再次访问Web网站时,网站通过读取Cookie文件记录这位访客的特定信息(如上次访问的信息、花费的事件...

【认证机制】3-Http Digest Auth

[[为弥补[ BASIC 认证存在的弱点,从[ HTTP/1.1 起就有了[ DIGEST 认证。[ DIGEST 认证同样使用挑战应答机制[[,但不会像[ BASIC 认证那样直接发送明文密码]{lang=”EN-US”}。]{lang=”EN-US”}]{lang=”EN-US”}]{lang=”EN-US”}]{lang=”EN-US”}]{lang=”EN-US”}]{lang=”E...

【认证机制】2-Apache配置HTTP Basic Auth

1. 基本流程 1.1 使用htpasswd命令创建用户文件 进入 apache 安装目录,使用 htpasswd.exe 创建用户 Admin(密码:password),保存在 apache_auth.htpasswd中(生成文件可以是任意名称和格式,比如user.txt) htpasswd用法:htpasswd - Manage user files for basic au...

【认证机制】1-HTTP Basic Auth

1. 简介 参考:HTTP basic authentication - IBM Documentation HTTP Basic Auth是HTTP协议提供的一种简单的挑战应答机制,服务器可以通过该机制从客户机请求认证信息(用户标识和密码)。客户端在授权标头中将身份验证信息凭证(采用 base-64 编码)传递给服务器,从而可以访问受保护的资源。 服务端开启Basic Auth后,通...

【Python】爬虫实战-基于代理池的高并发爬虫

手动切换策略

最近在写一个基于代理池的高并发爬虫,目标是用单机从某网站 API 爬取十亿级别的JSON数据(均为公开非敏感信息)。 代理池 有两种方式能够实现爬虫对代理池的充分利用: 搭建一个 Tunnel Proxy 服务器维护代理池 在爬虫项目内部自动切换代理 所谓 Tunnel Proxy 实际上是将切换代理的操作交给了代理服务器,很多市面上的代理软件都有此类功能。 如果要自行...

【Python】爬虫笔记-开源代理池haipproxy使用

0. 简介 大规模的数据采集需要用到代理池来突破IP封锁。 一般代理池的构建是先爬取网上的免费代理,校验后存到数据库中,再提供给其他程序api。 github上有很多现成的代理池能拿来用,在知乎看到 如何设计一个优秀的代理IP池? - 知乎 (zhihu.com) 这个答案后打算试用一下。 项目地址:GitHub - SpiderClub/haipproxy: High availa...

【Python】爬虫笔记-多线程&线程池

1. 基本概念 1.1 并发和并行 并发和并行的概念并不是对立的,并发(concurrent)对应的是顺序(sequential),并行(parallel)对应的是串行(serial)。 顺序:上一个开始执行的任务完成后,当前任务才能开始执行 并发:无论上一个开始执行的任务是否完成,当前任务都可以开始执行 串行:有一个任务执行单元,从物理上就只能一个任务、一个任务地执行 ...