(~_~)

一、用不同url头利用python访问一个网站,并把返回的东西保存为


 

requests库

主要用于http发送请求和处理响应

1.发送get和post请求

requests.get(目标网址)   

requests.post(url,data)

post于get不同的是get一般用来请求获取数据,而post相当于带着数据去更新一下

get也可以向后台传数据,在url中;而post的数据放在request body中,所以我们使用post的时候就要放data哦,也可以不放,度数一般使用post更新数据什么的

2.设置请求头和请求体

请求头用headers={}

请求头告诉服务器一些额外信息

比如

User-Agent用于指定用户代理

Authorization用于进行身份验证

用法加单引号,

请求体用data

请求体用于向服务器提交数据

3.处理响应

status_code 获取状态码

headers 用于获取响应头

text 用于获取文本内容

content 用于获取二进制内容

json 用于解析为python字典

session用于创建一个会话

auuth 用于指定身份

proxies 用于设置代理

ConnectionError 这个指网络连接错误

HTTPError  指服务器错误

Timeout 请求超时


二、python的正则表达式

正则表达式用于匹配、替换、查找

正则表达式在python中用re模块

匹配

把符号放在匹配的字母或者数组字后面就代表

++号代表1.2.3.4.5.6... 不可以0
*

*代表可以是0.1.2.3.4.5.6...个该字符

ab*c可以匹配的是ac abc abbc abbbc...

{}

如果要指定有多少个

ab{6}c  ab{2,6}c代表2到6   ab{2,}这个指直接2以后

如果想要多个字符直接用大括号括起来

{ab}+c

??代表出现0个或者1个
( | )或逻辑 a(cat|dog)acat adog
[  ]匹配的字符都取于其中一个
^代表除.....以外

 

元字符

\D非数字字符
\d数字字符
\w单词符(数字,字母,下划线)

\W

非单词符
\s空白符(包含tab和换行符)
\S非空白符
.任意字符(不包括换行符)
^匹配行首
$匹配行尾

.+ 默认贪婪匹配,会匹配尽可能多的字符串

.+?  加问号后就是懒惰匹配啦

.* 表示任意匹配除换行符(\n、\r)之外的任何单个或多个字符

 (.*?) 表示"非贪婪"模式,只保存第一个匹配到的子串

相当于贪婪的时候在满足正则的情况下尽可能多的取

非贪婪就尽可能少的取

内部制约关系可以先分成几个组用小括号

\的作用:引用分组。\1表示引用第一组,\是转义字符,转义后代表一个

()表示分组,()代表一个分组

^俩个用处

1.表示在行首

2.如果反复在[]里面[^   ]表示取反

这样的话我们就可以合起来一起用

^\w{4,20}@163\.com$ 匹配163邮箱

我们可以观察其中的规律,我们就可以匹配

这里在网络上有很多,然后看起来也是非常的繁多,就记住一个一个符号看,

1.如果在没有大括号的情况下一个符号只代表他前面一位的字,然后慢慢分析

2.记得\反斜杠有时候用来转义

re模块

re.match与re.search都是用于匹配

re.match('正则表达式','要匹配的字符串‘,'其他设置’)

1.re.match

match从头开始匹配,如果第一个匹配不上的话就直接返NONE,匹配成功返回一个对象,它只能返回一个,并不能把所有情况都匹配出来

2.re.search

扫描整个字符串并返回第一个成功的匹配,

匹配成功re.search方法返回一个匹配的对象,否则返回None

3.re.findall

也是用于匹配,返回所有匹配结果

在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果有多个匹配模式,则返回元组列表,如果没有找到匹配的,则返回空列表。

4.re.sub

用于替换

re.sub('正则表达式‘,'要替换的部分','原字符串',‘替换次数,默认为0’,‘其他设置’)

其中要替换的部分可以是一个函数,如果是一个函数,就直接执行该函数的功能,替换该函数改变的地方,其他不变

默认为0是全部替换

5.re.compile

该函数是一个用于生成编译正则表达式对象

pattern = re.compile(r'\d+') # 用于匹配至少一个数字 

m = pattern.match('one12twothree34four',2, 10)

直接将正则表达式转换为一个对象,就可以与我们的目标字符串进行匹配啦

可以直接匹配或者我们可以限制一下字符串的起始位置

其他的match ,search,findall

我试了试sub也可以用

就是用了compile生成对象以后,其他函数一个可以正常使用,只要咱们符号人家的格式

  • 如果没有任何指定返回
  • group()返回被re匹配的字符串
  • start()返回匹配开始的位置
  • end()返回匹配结束的位置
  • span()返回一个元组包含匹配(开始,结束)的位置

re.IGNORECASE 或 re.I使匹配对大小写不敏感
 
re.MULTILINE 或 re.M多行匹配,影响 ^ 和 $,使它们匹配字符串的每一行的开头和结尾。
 
re.DOTALL 或 re.S:使 . 匹配包括换行符在内的任意字符。
 
re.ASCII使 \w, \W, \b, \B, \d, \D, \s, \S 仅匹配 ASCII 字符。
 
re.VERBOSE 或 re.X忽略空格和注释,可以更清晰地组织复杂的正则表达式。


三、信息收集

他们说渗透的本质就是信息收集,我们也是要开始了解渗透啦,加油加油啊

首先咱们可以先来了解一些网站的一些概念叭,一些有文化的名称(咱们也是文化仁)

1.网站(Website)是指在因特网上根据一定的规则,使用Html等工具制作的用于展示特定内容相关网页的集合。总之就是网站是在互联网上拥有域名或地址并提供一定网络服务的主机,是存储文件的空间,以服务器为载体。就是大体这么个意思,还有网站与网页的区别,网站由网页组成。网站一定要有域名。

2.服务器是计算机的一种,但是它比普通计算机运行更快、负载更高。而且服务器是用于存储、处理、传输大量数据。

3.ip地址是IP协议提供的一种统一的地址格式,用来访问每一台主机。

IPV4实际上是一个32位的二进制,被分为4部分,实际上是32进制,但是我们一般用十进制里表示

(202.196.80.211),实际上是32位二进制数(11001010.11000100.01010000.11010011)

当然每一部分为0到255的数字组成

还可以分为公有地址和私有地址

我们这里了解一些特殊地址

1.(0.0.0.0)对应于当前主机

2.IP地址中不能以十进制“127”作为开头,该类地址(127.0.0.1~127 .255.255.255)用于回路测试,如:127.0.0.1可以代表本机IP地址,用“http://127.0.0.1”就可以测试本机中配置的Web服务器

3.网络ID的第一个6位组也不能全置为“0”,全“0”表示本地网络

4.IP地址中凡是以“11110”开头的E类IP地址都保留用于将来和实验使用

4.域名是人们因为ip地址太难记所以就发明了域名,是字符型地址

域名一般由俩个或俩个以上的组成,为 三级域名.二级域名.顶级域名,从后往前控制下一级域名的分配。

顶级域名

国家顶级域名:中国是cn,美国是us,日本是jp

国际顶级域名:工商企业的.com,表示网络提供商的.net,表示非盈利组织的.org

二级域名

国家顶级域名下,它是表示注册企业类别的符号,中国的二级域名又分为

类别域名:用于科研机构的ac;用于工商金融企业的com;用于教育机构的edu;用于政府部门的gov

和行政区域名两类:有34个,分别对应于中国各省、自治区和直辖市

三级域名

用字母(A~Z,a~z,大小写等)、数。。字(0~9)和连接符(-)组成,各级域名之间用实点(.)连接,三级域名的长度不能超过20个字符

5.dns(域名系统),作为可以将域名和IP地址相互映射的一个分布式数据库,是进行域名和与之相对应的IP地址转换的系统

域名和IP地址是一对多的关系,一台服务器只能有一个IP地址,但是却可以有多个域名

6.url

域名不可以直接访问网站,只有通过解析变成url才能访问,一个url对应web

7.端口

端口是用来区分不同的网络服务的,比如

21端口:FTP 文件传输服务(ftp就是专门传输文件的)

22端口:ssh协议(用于计算机直接加密登录,可远程登录)

53端口:DNS 域名解析服务

80端口:HTTP 超文本传输服务

443端口:HTTPS 加密的超文本传输服务

3306端口:MYSQL 默认端口号

8.静态网站和动态网站

静态网站是指全部由HTML代码格式页面组成的网站,所有的内容包含在网页文件中

动态网站指网站内容可根据不同情况动态变更的网站,一般情况下动态网站通过数据库进行架构。 动态网站除了要设计网页外,还要通过数据库和编写程序来使网站具有更多自动的和高级的功能

8.cdn

内容分发网络,基本思路是尽可能避开互联网上有可能影响数据传输和稳定性的瓶颈和环节,使内容传输得更快、更稳定

提高用户访问网站的响应速度

9.cms

内容管理系统,

我们认为内容管理系统是一种位于WEB前端(Web 服务器)后端办公系统或流程(内容创作、编辑)之间的软件系统

1.whios查询

whios查询可以查到注册商以及一些联系方式,注册时间,过期时间等

域名,dns等

通过反查注册人和邮箱得多更多得域名

好多好多搜索的东西,啊,应该都差不多

Shodan:https://www.shodan.io/ 

站长之家域名WHOIS信息查询地址 http://whois.chinaz.com/

爱站网域名WHOIS信息查询地址 https://whois.aizhan.com/

腾讯云域名WHOIS信息查询地址 https://whois.cloud.tencent.com/

中国万网域名WHOIS信息查询地址 https://whois.aliyun.com/

国外WHOIS信息查询地址 https://who.is/

百度云百度智能云-域名网站监测工具

网站备案信息是根据国家法律法规规定,由网站所有者向国家有关部门申请的备案,如果需要查询企业备案信息(单位名称、备案编号、网站负责人、电子邮箱、联系电话、法人等)

天眼查

邮箱可进行钓鱼

2.子域名查询

子域名指顶级域名的下一级

(1)Layer子域收集

输入我们的域名就可以直接开始啦(已下载,勿辜负)

(2)fofa搜索

https://fofa.info/

在网站里就直接有查询语法,所以非常的方便,想查什么就直接查询

也可以通过与或等逻辑把他们组合查询

可以进行端口检索,域名检索,主机检索等等

3.后台登录

尝试看看可不可以直接登录他们的后台

4.旁站和c段信息收集

旁站是和目标网站在同一台服务器但开放在其他端口的网站

C段是指同一内网段内的其他服务器或主机。每个IP有ABCD四个段,如192.168.0.1,A段就是192,B段是168,C段是0,D段是1。则和这个IP地址位于同一C段的IP地址有 192.168.0.0 ~~ 192.168.0.255

旁站:与攻击目标在同一服务器的不同网站,在攻击目标没有漏洞的情况下,可以通过查找旁站的漏洞攻击旁站,然后再通过提权拿到服务器的最高权限,拿到服务器的最高权限后攻击目标

可以通过站长之家来搜索

5.真实ip收集

这个是指寻找真实的地址

通过查询DNS与IP绑定的历史记录就有可能发现之前的真实IP信息

部分存在cdn

通过子域名查询,很多站点只对主站做了CDN加速,子域名并未做CDN加速。而子域名和主站可能在同一服务器或同一C段中,因此得到主站信息

6.端口

nNmap: the Network Mapper - Free Security Scanner

直接用nmap

还有在线扫描工具

http://www.all-tool.cn/Tools/portblast/?&rand=5e5fd89ade531f6304b4e76fd3a10f90

22 端口(SSH

安全攻击:弱口令、暴力猜解、用户名枚举

利用方式:

1、通过用户名枚举可以判断某个用户名是否存在于目标主机中

2、利用弱口令/暴力破解,获取目标主机权限。

23 端口(Telnet

安全漏洞:弱口令、明文传输

利用方式:1、通过弱口令或暴力破解,获取目标主机权限。
2、嗅探抓取telnet明文账户密码。

3389 端口(RDP

安全漏洞:暴力破解

利用方式:通过弱口令或暴力破解,获取目标主机权限。

5632 端口(Pcanywhere

安全漏洞:弱口令、暴力破解

利用方式:通过弱口令或暴力破解,获取目标主机权限

5900 端口(VNC

安全漏洞:弱口令、暴力破解

利用方式:通过弱口令或暴力破解,获取目标主机权限。

不行,这个实在是太多了,而且没有实例好难了解,以后慢慢来吧,有点痛苦啦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/389140.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Yearning-MYSQL 审计平台部署

目录 一. 环境准备 二. 部署安装 三. 基础使用 1.用户管理 2. 创建SQL审计流程 3. 自定义审核规则 4. 导入数据源 5. 创建权限组 6. 登录用户申请工单 1. 创建一个DDL工单提交 2. SQL审核执行 3. SQL执行 4. 数据验证 Yearning 是一个开源的 MySQL SQL 审计平台…

动态规划-斐波那契数列

一. 什么是动态规划 dp一般是需要前面状态的值的问题。比如,解决一个问题需要很多步骤,且步骤之间相关联,后一个步骤的推导需要前一个步骤的结论。而我们所做的就是,将这个带求解的问题分成若干步骤,将每个步骤答案保…

python 去除验证码图片噪音

在处理验证码图片时,出现噪音,如横线、像素点等问题往往会影响识别率,这里给出一个去除噪音的方法,仅供学习。 import cv2 import os import numpy as np import copydef del_noise(img, number):height img.shape[0]width img…

JavaScript模块化

JavaScript模块化 一、CommonJS规范1、在node环境下的模块化导入、导出 2、浏览器环境下使用模块化browserify编译js 二、ES6模块化规范1、在浏览器端的定义和使用2、在node环境下简单使用方式一:方式二: 3、导出数据4、导入数据5、数据引用问题 一、Com…

前端:Vue学习 - 智慧商城项目

前端:Vue学习 - 智慧商城项目 1. vue组件库 > vant-ui2. postcss插件 > vw 适配3. 路由配置4. 登录页面静态布局4.1 封装axios实例访问验证码接口4.2 vant 组件 > 轻提示4.3 短信验证倒计时4.4 登录功能4.5 响应拦截器 > 统一处理错误4.6 登录权证信息存…

Mybatis学习(2)

分页 目的:减少数据的处理量 方式一:使用limit实现分页,核心SQL sql语法:select * from user limit startIndex,pageSize; 步骤: 1、接口 2、Mapper.xml 3、测试 方式二:使用注解开发 1、…

每日一题~EC168 A+B+C+D

A 题意: 字符串 每一个字符的花费是2,如果ai-1 ai ,那么ai 的花费是1. 现在可以插入一个字符,得到最大花费。输出插入字符之后的字符串。 分析:只需要在相同的连续字符中间插入一个不同的字符就可以了。如果没有连续的相同字符&am…

Python酷库之旅-第三方库Pandas(059)

目录 一、用法精讲 226、pandas.Series.pad方法 226-1、语法 226-2、参数 226-3、功能 226-4、返回值 226-5、说明 226-6、用法 226-6-1、数据准备 226-6-2、代码示例 226-6-3、结果输出 227、pandas.Series.replace方法 227-1、语法 227-2、参数 227-3、功能 …

最强开源模型 Llama 3.1 部署推理微调实战大全

目录 引言一、Llama 3.1简介二、Llama 3.1性能评估三、Llama 3.1模型推理实战1、环境准备2、安装依赖3、模型下载4、模型推理 四、Llama 3.1模型微调实战1、数据集准备2、导入依赖包3、读取数据集4、处理数据集5、定义模型6、Lora配置7、配置训练参数8、开始Trainer训练9、合并…

什么是负责任的人工智能

「AI秘籍」系列课程: 人工智能应用数学基础人工智能Python基础人工智能基础核心知识人工智能BI核心知识人工智能CV核心知识AI 进阶:企业项目实战 可直接在橱窗里购买,或者到文末领取优惠后购买: 拥有权利的同时也被赋予了重大的…

Modbus通讯协议

Modbus通讯协议 Modbus协议是一种用于电子控制器之间的通信协议,‌它允许不同类型的设备之间进行通信,‌以便进行数据交换和控制。‌Modbus协议最初为可编程逻辑控制器(‌PLC)‌通信开发,‌现已广泛应用于工业自动化领…

详细分析nohup后台运行命令

目录 1. 基本知识2. Demo 1. 基本知识 Unix/Linux 命令,用于在后台运行程序,并确保它在用户退出或注销后继续运行 nohup 的主要作用是使程序在终端会话结束后继续运行,这对需要长时间执行的任务特别有用 基本的用法如下: nohu…

3.1 拓扑排序

有向图的存储 邻接矩阵 邻接表 拓扑排序 有向无环图:不存在环的有向图 环: 在有向图中,从一个节点出发,最终回到它自身的路径被称为环 入度: 以节点x为终点的有向边的条数被称为x的入度 出度: 以节…

哈默纳科HarmonicDrive谐波减速机的使用寿命计算

在机械传动系统中,减速机的应用无处不在,而HarmonicDrive哈默纳科谐波减速机以其独特的优势,如轻量、小型、传动效率高、减速范围广、精度高等特点,成为了众多领域的选择。然而,任何机械设备都有其使用寿命&#xff0c…

数据集成是什么意思?方法有哪些?数据集成三种方法介绍

1 数据集成是什么 数据集成(Data Intergration),也称为数据整合,是通过将分布式环境中的异构数据集成起来,为用户提供统一透明的数据访问方式。该定义中的集成是指从整体层面上维护数据的一致性,并提高对数据的利用和共享&#x…

【Redis 进阶】事务

Redis 的事务和 MySQL 的事务概念上是类似的,都是把一系列操作绑定成一组,让这一组能够批量执行。 一、Redis 的事务和 MySQL 事务的区别 1、MySQL 事务 原子性:把多个操作打包成一个整体。(要么全都做,要么都不做&am…

用 Python 编写的井字游戏

一.介绍 在本文中,我将向您展示如何使用 Python 创建一个非常简单的井字游戏。 井字游戏是一种非常简单的双人游戏。因此每次只能有两个玩家玩。该游戏也称为井字游戏或 Xs 和 Os 游戏。一个玩家玩 X,另一个玩家玩 O。在这个游戏中,我们有一…

树组件 el-tree 数据回显

树组件 el-tree 数据回显 树型结构的数据回显问题&#xff1a; 这里我只放了核心代码&#xff0c;主要是如何获取选中的树节点的id集合和如何根据树节点的id集合回显数据 大家根据需要自行更改&#xff01; <el-tree ref"authorityRef" node-key"id" …

SSH访问控制:精确管理你的服务器门户

“ 在数字世界中&#xff0c;服务器的安全性是任何网络管理员的首要任务。特别是对于远程登录协议如SSH&#xff0c;确保只有授权用户可以访问是至关重要的。 今天&#xff0c;记录两种有效的方法来控制用户对特定服务器的访问&#xff1a;通过sshd_config实现黑/白名单机制和利…

【Python】pandas:替换值、添加行/列,删除行/列,更改形状(含数据透视表)

pandas是Python的扩展库&#xff08;第三方库&#xff09;&#xff0c;为Python编程语言提供 高性能、易于使用的数据结构和数据分析工具。 pandas官方文档&#xff1a;User Guide — pandas 2.2.2 documentation (pydata.org) 帮助&#xff1a;可使用help(...)查看函数说明文…