![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
python安全攻防
文章平均质量分 59
POC、EXP、脚本、工具编写
p0inter
生而自由,爱而无畏,保持热爱奔赴山海
展开
-
python安全攻防---信息收集---ICMP主机探测 以及optionparser的使用
0x01 基础概念ICMP(Internet control Message Protocal)Internet报文协议,是TCP/IP的一种子协议,属于网络层协议,其目的是用于在IP主机、路由器之间传递控制信息0x02 程序程序# -*- coding:utf-8 -*-from scapy.all import *from random import randintfrom optparse import OptionParserdef Scan(ip): ''' S原创 2021-06-01 19:12:06 · 678 阅读 · 1 评论 -
python安全攻防---scapy使用
0x01 基本概念ICMP(Internet Control Message Protocal,Internet报文协议)是TCP/IP的一种子协议,位于网络层,其目的是用于在IP主机、路由器之间传递控制信息。0x92 Scapy 和 OptionParserscapy导入scapy包from scapy.all import *构造包a = Ether()/IP(dst='114.114.114.114')/TCP(dport=80)/应用层数据我们如果记不得每个包的选项使,转载 2021-06-01 10:51:07 · 577 阅读 · 1 评论 -
python安全攻防---scapy基础---计算机网络各层协议
网络层次划分比较常用的是TCP/IP五层协议。0x01应用层应用层是网络应用程序以及它们的应用层协议存留的地方。应用层协议和应用程序直接挂钩DHCP(Dynamic Host Configuration Protocol)动态主机分配协议,使用 UDP 协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配 IP 地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。实 现即插即用连网。BOOTP (BOOTstrapProtocol) 引导程序协议/ 自举协议,使用UD原创 2021-05-31 20:06:47 · 1096 阅读 · 0 评论 -
python安全攻防---爬虫基础---BeautifulSoup解析
0x01 基础使用bs4首先要安装,安装后导入import bs4bs对象有两个方法,一个是find,另一个是find_allfind(标签名,属性值):只返回一个,返回也是bs对象,可以继续用find和find_all方法find(name='table',attrs={'class':'hq_table'})find_all(标签名,属性值):返回所有符合条件,返回也是bs对象,可以继续用find和find_all方法find_all(name='tr')0x02 案例爬原创 2021-05-28 14:18:53 · 173 阅读 · 0 评论 -
python安全攻防---爬虫基础--re解析数据
0x01 re基础使用re模块,必须先导入re模块import refindall():匹配所有符合正则的内容,返回的是一个列表import restr = "我的电话:10086,女朋友电话:11011"list = re.findall('\d+',str)print(list)finditer():匹配所有符合的内容,返回的是迭代器,使用group可取到内容import restr = "我的电话:10086,女朋友电话:11011"ite = re.findi原创 2021-05-28 13:07:45 · 169 阅读 · 3 评论 -
python安全攻防---爬虫基础---get和post提交数据
get提交数据1get提交的数据就附在提交给服务器的url之后,以?开头参数之间以&隔开,例如/admin/user/123456.aspx?name=123&id=123案例:写个脚本,在sogou自动搜索周杰伦,并将搜索页面的数据获取程序如下:import requestsquery = input("请输入一个你喜欢的明星:")url = f'https://www.sogou.com/web?query={query}'dict = { 'User-Ag原创 2021-05-25 17:05:01 · 466 阅读 · 1 评论 -
python安全攻防---信息收集---whois查询
whois是用来查询域名的IP以及所有者信息的传输协议。简单地说,whois就是一个数据库,用来查询域名是否以及被注册,以及注册域名的详细信息(如域名所有人、域名注册商等)。使用whois查询,首先通过pip安装python-whois模块 pip install python-whois我的电脑上有python2和python3两个版本,所以用pip3安装的程序为:# -*- coding:utf-8 -*-''' whois查询'''from whois import whois原创 2021-05-24 22:06:22 · 1118 阅读 · 0 评论 -
python安全攻防---信息收集---IP查询
IP查询是通过当前所获得的URL去查询对应IP地址的过程,可应用Socket库函数中的gethostbyname()获取域名所对用的IP值程序如下:# -*- coding:utf-8 -*-''' IP查询'''import socketip = socket.gethostbyname('www.baidu.com')print(ip)运行结果:IP和nslookup解析一样...原创 2021-05-24 21:55:52 · 133 阅读 · 0 评论 -
python免杀技术---shellcode的加载与执行
0x01 生成shellcode首先通过下列命令生成一个shellcode,使用msfvenom -p选项来指定paylaod,这里选用windows/x64、exec模块接收的参数。使用calc.exe执行弹出计算器的操作。-f选项用来执行生成的shellcdoe的编译语言。msfvenom -p windows/x64/exec CMD='calc.exe' -f py0x02 加载与执行shellcode的程序程序为:# -*- coding:utf-8 -*-import ctyp原创 2021-05-22 15:23:07 · 1135 阅读 · 1 评论 -
python---可执行文件的转换
pyinstaller是常见的执行文件打包工具。该工具的安装方式非常简单,可运行在windows、MacOS X和GNU/Linux操作系统环境中,执行python2和python3。用pyinstaller打包的执行文件,只能在于执行打包操作的系统类型相同的环境下运行。也就是说,这样的执行文件不具备可移植性,比如在windows系统下用PyInstaller生成的执行文件只能运行在Windows环境,在Linux系统下生成的执行文件只能运行在Linux环境。首先我们要安装pyinstaller,安装教原创 2021-05-22 10:33:51 · 189 阅读 · 0 评论 -
python---Socket编程
Sockte是计算机之间进行网络通信的一套程序接口,相当于在发送端和接收端之间建立一个通信管道。在实际应用中,一些远程管理软件和网络安全软件大多数依赖于Socket来实现特定功能,由于TCP方式在网络编程中应用非常频繁,此处将对TCP编程进行讲解编写TCP时一般会用到Socket模块,其方法主要包括:connect(address):连接远程计算机send(bytes[,flags]):发送数据recv(bufsize[,flags]):接收数据bind(address):绑定地址listen原创 2021-05-22 09:21:34 · 106 阅读 · 0 评论 -
python---异常处理结构
python中提供了很多不同形式的异常处理结构,其基本思路都是先尝试执行代码,再处理可能发生的错误。try…except…在python异常处理结构中,try…except…使用最为频繁,其中try子句中的代码块为可能引发异常的语句,except子句用来捕获相应的异常。例如,在使用学校的学生成绩系统录入每科成绩时,要求输入0~100的整数,而不接受其他类型的数值,如果输入的值超过0~100这一范围,则会给出提示。#! /usr/bin/python#coding:utf-8mathScore =原创 2021-05-21 20:11:10 · 1654 阅读 · 7 评论 -
python---文件处理
0x01 打开一个文件python中内置了文件对象,通过open()函数就可以制定模式打开指定文件,并创建文件对象。该函数的格式如下:open(file[,mode='r'[,buffering=-1]])file:指定要打开或创建的文件名称,如果该文件不存在当前目录,则需要指明路径mode:指定打开文件后的处理模式buffering:指定读写文件的缓冲模式,数值为0表示不缓存,数值为1表示使用行缓存模式,数值大于1表示缓冲区的大小,默认值为-1。二进制文件和非交互文本文件以固定大小的块缓冲单原创 2021-05-21 19:21:35 · 173 阅读 · 1 评论 -
sys.stdin.read和raw_input函数
sys.stdin.read函数例子:import sysread=sys.stdin.read()for i in range(len(read)): print i,read[i],-1运行,当执行到read=sys.stdin.read()会阻塞,等待我们输入我们输入:h e当输入,ctrl+D结束输入,这个时候ctrl+D是在换行后输入的,运行结果为:我们只输入了三个字符,却输出来四个字符,重点看3后面,发现是换行,这是因为sys.stdin.read读取完数原创 2021-02-21 10:15:47 · 2681 阅读 · 0 评论 -
sys.argv和getopt
0x01 sys.argvsys.argv用来读取命令行参数,保存程序的文件名和命令参数,读入的参数以列表保存import sysprint sys.argvprint type(sys.argv)可以看到,sys.argv把空格当成分隔符,空格两边的值当做sys.argv的一个元素,第一个元素值是文件名0x02 getoptgetopt模块专门处理命令行参数,用于获取sys.argv的值,支持短选项模式(-)和长选项模式(–)getopt.getopt()getopt.getopt原创 2021-02-16 09:31:23 · 121 阅读 · 1 评论 -
python网络编程---TCP服务器
0x01 环境python2 pycharm0x02 程序客户端程序:# -*- coding:UTF-8 -*-import socket'''target_host='www.baidu.com'target_port=80'''target_host='localhost'target_port=3345data='ABCDEF'# 创建一个socket对象client = socket.socket(socket.AF_INET,socket.SOCK_STREAM原创 2021-02-14 19:45:59 · 359 阅读 · 2 评论 -
python网络编程--UDP客户端
0x01 环境python、pycharm0x02 程序# -*- coding:utf-8 -*-import sockettarget_host='127.0.0.1'target_part=80#创建一个socket对象client = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)#发送一些数据client.sendto('AAAAAA',(target_host,target_part))#接收到的消息data,原创 2021-02-14 19:18:25 · 623 阅读 · 0 评论 -
python网络编程---TCP客户端
0x01 环境python2、 pycharm0x02 程序# -*- coding:UTF-8 -*-import sockettarget_host='www.baidu.com'tarfet_port=80'''target_host='localhost'target_port=3345data='ABCDEF''''# 创建一个socket对象client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)# 连接原创 2021-02-14 18:44:08 · 468 阅读 · 1 评论