
Python
文章平均质量分 56
bbb07
行百里者半于九十
展开
-
一道[CSCCTF 2019 Qual]FlaskLight的详解再遇SSTI
做这道题的时候,再次深入了解了一下SSTI,不过发现去讲解这题原理的文章实在是太少了,额也有可能是大佬觉得没有必要讲,不过在这里还是记录一下自己的一些解题思路,一方面也是防止自己忘记,可能会有错误,欢迎前来指正。.........原创 2022-07-29 20:42:00 · 1837 阅读 · 0 评论 -
Scapy实现基于ARP/ICMP/TCP/UDP的活跃设备扫描技术,以及TCP全/半端口扫描
目录基于ARP的活跃设备发现基于ICMP的活跃设备发现基于TCP扫描的活跃设备发现基于UDP扫描的活跃设备发现Scapy实现端口扫描基于TCP全开端口扫描基于TCP半开端口扫描ARP:地址解析协议,ARP(Address Resolution Protocol)根据IP地址获取物理地址的一个TCP/IP协议,环境所在的设备如果只知道目的设备的IP地址却不知道其MAC地址的时候,可以通过这种协议,使用以太 广播包给网络上的每一台设备发送ARP数据包,获取其中符合条件的MAC地址,以保证通信的顺利进行ARP的工原创 2022-07-12 09:35:54 · 4426 阅读 · 0 评论 -
Python中Scapy使用方法,模块中的常用函数,简单的端口扫描编写
目录scapy是什么scapy的使用IP()src()和dst()Ether()采用分层的方式来构造数据包raw()和hexdump()summary()和show()如何在scapy中发送和接收数据包send()和sendp()sr()、sr1()和srp()简单的端口扫描sniff()使用scapy编写简单的端口扫描scapy是一个可用作网络嗅探,独立运行的工具,它提供了一个和python相同的交互方式命令行环境,可以在kali内单独运行,该类库在网络安全领域有非常广泛用例,可用于漏洞利用开发、流量的分原创 2022-07-08 16:49:25 · 14821 阅读 · 1 评论 -
KALI安装Pycharm
由于直接在KALI中下载Pycharm速度往往不太理想,所以可以在本机内提前安装,再传输进KALIPycharm下载地址:Download PyCharm: Python IDE for Professional Developers by JetBrainshttps://www.jetbrains.com/pycharm/download/#section=windows目前,Pycharm提供了三种不同操作系统的版本,这里我们选择KALI作为操作系统,所以点击Linux原创 2022-05-23 14:44:06 · 6611 阅读 · 8 评论 -
[CISCN2019 华北赛区 Day1 Web2]ikun以一道例题从JWT安全到Pickle反序列化
这道题前面几关还是挺简单的,主要重点是JWT安全和Pickle反序列化的问题,所以前面的关卡就简单描述一下步骤先去注册一个账户注册完账户后,我们就来到了第一关,刚开始本来想注册一个admin用户的,没想到已经被注册了,那么我猜接下来的内容会和admin有关了这里有一个提示,开局给了我们1000块,让我们去购买lv6,当前链接是http://29e104e9-b299-4014-b700-cc0b3892187b.node4.buuoj.cn:81/shop?page=2,每点击一次下一页,p原创 2022-05-22 23:23:18 · 1467 阅读 · 0 评论 -
Django JSONField SQL注入漏洞 复现 & 原理分析
关于这个漏洞前几天看了很多的文章,其实大部分payload是一样的,都是如何去构造,或者去命令执行复现一下,我一开始也是这样去做的,但是这个漏洞是怎么形成的,对我来说可能一知半解,或者说完全不了解,在后面学习的过程中感觉吃力又去补习了别的知识,比如Django的两个基类,ArrayField、JSONField,Json.objects.filter()和QuerySet相关的知识,包括ORM注入等等1/漏洞原理PostgreSQL、SQLite3、MySQL、Oracle,在大部分情况下,以上四种原创 2022-05-04 14:32:59 · 2570 阅读 · 0 评论 -
Python免杀脚本生成.exe(过火绒过联想没过360)
方法:使用内存加载shellcodemsfvenom -p windows/x64/exec CMD='calc.exe' -f py -b '\x00\x0a'【这里执行弹出计算器的命令操作】-p 用于指定payloadcalc.exe用于执行弹出计算机操作-f 用于指定生成的shellcode的编译语言-b 用于禁止生成shellcode中易出现的被查杀软件检测的字符串-e 可以选择相应的编码器在pycharm内运行如下脚本import ctypesfrom.原创 2022-04-06 15:07:19 · 3912 阅读 · 0 评论 -
FTP口令破解脚本编写
import ftplibimport optparseimport threading# 使用匿名用户进行登录,如果登录成功则写入FtpSuccess.txt文件def CheckAnonymous(FTPserver): try: print('[-] checking user [anonymous] and password [anonymous]') f = ftplib.FTP(FTPserver) # 对主机发起连接,端口默认 .原创 2022-04-05 10:00:46 · 1203 阅读 · 0 评论 -
Pikachu靶场Login多线程爆破脚本编写
注意:需要在同目录下创建两个字典,一个是users.txt,一个是passwds.txt,运行该脚本时会从这两个文件内读取用户名与密码import osimport threadingimport requests# 定义分块大小BLOCK_SIZE = 800def pertition(ls, size): return [ls[i:i + size] for i in range(0, len(ls), size)]# 创建子线程任务类class Thread..原创 2022-03-26 15:13:16 · 2124 阅读 · 0 评论 -
时间盲注脚本(附带注释)
参考python安全攻防时间盲注,自己修改了一些内容,加入了异常处理防止乱跑# -*- coding: UTF-8 -*-import requestsimport timeDBName = "" # 数据库名的变量DBTables = []DBColumns = []DBData = {}requests.adapters.DEFAULT_RETRIES = 10conn = requests.session()conn.keep_alive = False # 设置重连原创 2022-03-22 23:33:31 · 2934 阅读 · 0 评论 -
实现UDP、TCP的多线程端口探测(包含TOP-50-1000)
# 多线程扫描工具import optparseimport queueimport socketimport sysimport threading# 定义端口扫描类# 要想创建一个线程对象,只要继承类threading.Thread,然后在__ init__里边调用threading.Thread.__init__()方法class PortScaner(threading.Thread): def __init__(self, ip, portqueue, timeout.原创 2022-03-19 22:02:08 · 3147 阅读 · 0 评论 -
Redis未授权访问漏洞是什么?如何复现(包括整理出在复现过程中遇到的各种问题)+编写扫描检测脚本
目录Redis未授权访问漏洞原理环境配通常来说置:CentOS下安装Redis手工未授权访问验证利用方式在攻击机中使用ssh免密登陆靶机利用漏洞写入webshell编写脚本检测未授权访问漏洞可以理解为安全配置不当、在需要进行权限认证处未对当前用户进行权限识别,导致攻击者在没有获取到登录权限或未授权的情况下,对目标进行操作或者被信息泄露常见的未授权漏洞:Redis 未授权访问漏洞MongoDB 未授权访问漏洞JBOSS 未授权访问漏洞VNC 未授权访问漏洞宝塔原创 2022-03-19 17:33:21 · 7172 阅读 · 2 评论 -
ZoomEye搜索引擎语法与脚本检索
全球网站都是由各种组件组成,比如用的哪种操作系统、哪种Web容器、什么服务端语言、什么Web应用等等,而ZoomEye是一个面向网络空间的搜索引擎,它允许使用公网设备指纹检索和web指纹检索web指纹检索语法web指纹识别包括应用名、版本、前后端框架、服务端语言与操作系统、容器、数据库等等语法 描述 示例 app:组件名 目标组件名称 app:"Apache httpd" ver:组件版本 目标组件版本号 ver:'2.2.17' site:网站域原创 2022-03-17 17:46:31 · 4790 阅读 · 0 评论 -
[python]多线程socket端口探测(包含top50-1000)
# 多线程扫描工具import optparseimport queueimport socketimport sysimport threading# 定义端口扫描类# 要想创建一个线程对象,只要继承类threading.Thread,然后在__ init__里边调用threading.Thread.__init__()方法class PortScaner(threading.Thread): def __init__(self, ip, portqueue, timeout.原创 2022-03-16 15:34:26 · 5369 阅读 · 0 评论 -
Nmap库ICMP主机探测
import optparseimport refrom nmap import nmapdef Nmapscan(targetIP): # 实例化PortScanner对象 nm = nmap.PortScanner() try: # hosts为目标ip地址,argusments为nmap的扫描参数 # -sn:使用ping进行扫描 # -PE:使用ICMP的echo请求包 result = nm.sca.原创 2022-03-15 10:48:59 · 1707 阅读 · 0 评论 -
可执行文件的转换(.py转.exe),PyInstaller解决生成的文件为.exe.notanexecutable等报错
安装PyInstallerpip install pyinstaller准备一个.py文件和一个图片,在两个文件所在的文件夹下运行cmd进行合成-F 表示生成单个可执行文件exe。-w 表示去掉控制台窗口,即点击exe运行时不会出现黑窗。-i 表示可执行文件的图标结果爆出如下错误ValueError: Received icon path 'M:\python文件写入测试\exe合成\2022.png' which exists but is not in the c原创 2022-03-08 17:26:23 · 7929 阅读 · 2 评论 -
【Python】异常处理?tryexcept用法详解、使用自定义异常处理类,进行错误日志的自动生成与写入
目录异常处理tryexcept用法详解多分支处理异常类通用异常类Exception多分支异常类+通用异常类finally主动抛出异常使用自定义异常处理类进行日志的写入异常处理俗话说天有不测风云,对于天气的观测来说会有很多的变数,那么对于程序来说也会有相对的异常,那么什么叫异常处理呢?就比如如果我定义了一个列表,那么我去获取列表内的一个不存在的索引的时候,就会报错(异常),为了增强程序的健壮性,我们也需要考虑异常处理的内容以‘获取列表内的一个不存在的索引’为例:原创 2022-03-07 14:58:11 · 2891 阅读 · 0 评论 -
[Python]类与对象是什么?属性与方法?
在真实世界的校园内有学生有老师,学生有自己的姓名、性别、学号或班级,老师也有对应的属性,如果我们需要围绕整个校园开发一个管理系统时,那么学生、老师可以比喻为类,徐同学、王同学是学生类里面的个体,被称为对象,对象也被称为实例比如定义一个汽车类(cars),那么宝马、奔驰、奥迪就是类里面的对象定义类Python中的数据类型都是类,我们可以自定义类,即创建一种新的数据类型class Car(obj): # 类 pass # 占位创建对象如果说类相当于一个模板,那么依据这个模板来创建原创 2022-03-07 14:19:56 · 951 阅读 · 0 评论 -
解决调用fake_useragent库失败和ua.random报错的问题
fake_useragent库失败pip install fake_useragent在pycharm内settings设置在Python Interpreter内,找到"+"(版本不同“+”的位置也可能不同)搜索fake-useragent后,点击install package即可ua.random报错verify_ssl添加选项,则默认情况下为Trueua = UserAgent(verify_ssl=False)headers = { 'U...原创 2022-03-03 23:41:16 · 2083 阅读 · 0 评论 -
[Python]re正则模块match和search的区别
re.match(规则,目标,[匹配模式])函数从头开始匹配内容,要么第一个就符合要求,否则不符合可以使用group方法获取匹配的数据可以使用span方法获取匹配的数据的下标import rer1 = 'https://www.baidu.com'r2 = 'w'ganyu = re.match(r2, r1)print(ganyu) # None,返回None是因为从开头开始匹配,第一个字符不是w,所以回显None# 使用groupr3 = 'https://www.baidu原创 2022-03-02 21:17:39 · 1162 阅读 · 0 评论 -
Python-Boolean盲注脚本(附带注释,总脚本在结尾)
靶场:CTFHub设置重新连接,默认的情况下keep-alive为True# -*- coding: UTF-8 -*-import requestsimport optparse # 实现为脚本传递命令参数import timeDBName = "" # 数据库名的变量DBTables = []DBColumns = []DBData = {}flag = "query_success" # 判断盲注Ture回显的特定内容r1 = int(input('设置重连次数原创 2022-02-27 21:59:12 · 1332 阅读 · 0 评论 -
Python迭代器、(高阶函数)、内置函数
目录迭代器rangestart,stopstep数学相关函数进制相关sortedmapreducefilter迭代器# 迭代器是作为访问集合元素的一种方式,可以记住访问遍历的位置的对象# 从集合的第一个元素开始访问,直到导集合中所有元素被访问完毕# 但是迭代器只能从前往后,一个一个遍历,不能后退# 能被next()函数调用,并且不断返回下一个值的对象称为迭代器(Iterator迭代器对象)# 首先range()函数返回了一个可迭代的对象,如果利原创 2022-01-28 23:30:48 · 1507 阅读 · 1 评论 -
【Python】变量作用域、函数作用域,globals()和locals()函数
什么是作用域?可以指程序设计概念,通常相对于一个完整的程序来说,从中所用到的变量或名称并不全程有效、可用的。为什么需要作用域?因为作用域限定这个变量或名称的可用性范围# 首先将10赋值给numnum = 10def ganyu(): # 定义一个函数,输出num print(num)ganyu() # 调用ganyu,打印num的值# 那么如果这个时候,在函数内部将外部的num进行更改,则会报错,需要赋值前引用局部变量“num”def ganyu1(): num +原创 2022-01-23 16:20:14 · 1388 阅读 · 0 评论 -
Python数据类型有哪些,数据转换的形式,以及容器、数据类型之间转换
Python的数据类型什么是数据类型?数据类型是指数据种类、数据表现形式,比如ganyu就是一个字符串,200就是一个数字目录常用的数据类型1、字符串类型(str)1.1、字符串类型-大字符串2、数字类型整形(int)2.1、数字类型-复数(complex)2.2、数字类型-布尔类型(bool)3、列表类型(list)4、元组类型(tuple)5、字典类型(Dict)6、集合类型(set)数据类型总结数据类型转换自动类型转换...原创 2022-01-18 20:47:12 · 2946 阅读 · 0 评论