自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (1)
  • 收藏
  • 关注

原创 文档下载器制作

一、文档这里的文档包括:百度文档、豆丁文档、doc88等,理论上,只有可以使用浏览器打开或者“阅读”的文档,都是可以下载或者“保存”的。二、内容保存文档保存大体分为两类,一类是文字内容的保存,前提是原始文档是支持文字形式读取的,比如本身就是word格式(doc或docx扩展名),另一种就是图片或者转换、合并为PDF,本质上还是图片,所有文档都可以以图片格式保存。三、实现思路首先,需要加载文档,显示所有的页面,所以需要操作浏览器,执行点击、页面滚动等;其次,对页面元素进行快照(screenshot

2021-06-01 23:33:57 375

原创 前端加密与解密

前端加密与解密前言本文章仅用于记录平时安全测试中所遇到的前端加密和解密,有些内容与爬虫遇到的反爬措施类似,可参照处理。常见加密所用算法前端常见的加密(哈希)算法:MD5,AES,Rsa,sha1等;当然这些算法也有被魔改的变态版本,通常可以根据算法中的常见函数判断算法是属于哪一种。对于属于简单编码类的base64及其同类如base32或十六进制之类的不在本次讨论范围。MD5:待加密明文($pass),盐($salt)值(可选),密文长度32位或16位,加密形式多种,包括:md5(md5($pass

2021-05-09 04:19:24 595 1

原创 sqlmap用法整理

关于sqlmapsqlmap是一款sql注入神器,是国外黑客大佬结合渗透测试经验的精华所著。软件有中文使用文档,现结合常用参数整理如下。查看帮助文档-h-hh 更详细的使用说明使用随机user-agent请求头--random-agent使用特定的某一种或者几种注入手段,例如 时间盲注--technique=T指定注入参数-p "id"指定包含注入点的url-u "htt...

2020-02-10 11:49:03 1013

原创 目标真实IP查找方法整理

需求提出对应给定的目标,例如一个网站,首先获得的是目标域名,下一步就是找到域名背后的服务器ip,由于当前网站大多使用CDN(内容分发网络)对网站访问流量进行分流和一定程度的攻击防护,所以找出CDN背后的服务器真实ip就是一种“刚需”了。查找方法真实IP的验证:在本地修改hosts文件,将目标域名绑定到待测试IP,这样可用绕过CDN,如果访问目标域名时,返回的页面内容和绑定前一致,则说明该测试......

2020-02-09 17:32:18 6638

原创 信息搜集之搜索引擎

关于搜索引擎此处涉及的搜索引擎,不是常规的百度、谷歌之类的搜索引擎,而是专门为信息搜集而生的Shodan、Censys、Fofa、Zoomeye等搜索引擎。Shodanshodan,是一款国外的在线设备搜索引擎,除了包含常见的在线服务器,还有各种路由器、在线摄像头、工控设备等网络资产都可以搜索到。其提供了注册和付费会员功能,注册后的会员被分配一个身份标识API,通过该API,用户可以在客户端...

2020-02-08 22:47:09 2271

原创 渗透测试之信息搜集

信息搜集拿到一个渗透测试目标,在获得合法授权的前提下,要做的第一步就是根据测试范围,开展尽量全面的信息搜集工作,主要目的在于针对测试目标,扩展攻击面,获取的信息越多,了解的目标越全面、立体,越能增加漏洞发现的可能性,本文的内容,主要是涉及web安全方面的信息搜集,具体包含:域名(包括子域名)信息搜集、ip信息搜集、端口信息及开放服务等敏感信息的搜集。1、域名信息(和ip)搜集域名记录:A:...

2020-02-06 16:58:01 424

原创 python多任务实现方法之协程

多任务多任务的实现方式,使用下面方法中的一个或者若干个进行组合:1、多进程2、多线程3、协程三种方式的实现和资源占用各有不同,其中资源占用和实现所需的系统开销(内存、cpu等)逐渐减少,实现难度依次降低。可以简单的认为:一个进程可以包含多个线程,一个线程包含多个协程。多任务实现方式的选择:cpu密集型任务:使用多进程io密集型:使用多线程或协程同步与异步:同步:代码按照顺序执...

2020-02-01 22:20:44 353

原创 python多进程编程

程序和进程一个程序一般由代码和运行时的资源所组成,系统为每个程序分配一个或者多个编号,在程序中 运行的这些模块(逻辑模块)共同实现程序的设计目标,这些同时运行的模块中的每个成员都可以看作一个进程,每个进程拥有独立的内存空间。命令行下,查看进程id和父进程id>>> import os>>> os.getpid() #当前进程id10252>&g...

2020-02-01 18:41:40 124

原创 python多线程编程

线程模块本文主要学习的线程模块是在 python3.7 版本环境中的 threading 模块,不涉及另外的一个线程模块 _thread。线程模块中的属性和方法: import threadingdir(threading) # 下面列表为返回数据['Barrier', 'BoundedSemaphore', 'BrokenBarrierError', 'Condition', 'Eve...

2020-01-12 23:30:56 133

原创 python学习之socket应用

环境说明本文的代码运行环境:windows 10,python 3.7(代码兼容python 2)实现的目标:1、实现nslookup 命令,查询域名对应的ip地址2、实现ping命令,查询目标ip是否在线代码实现nslookup命令实现import socketimport sysdef nslookup(domain): result = socket.geta...

2020-01-07 21:21:59 316

原创 python网络编程之socket

关于套接字socketsocket是python网络编程中必不可少的模块,是内置模块,可以直接导入。也称其为套接字,是建立网络连接和会话的基础。建立套接字import sockets = socket.socket()help(s)s.close() # 关闭套接字建立套接字所需参数socket.socket(family=AF_INET, type=SOCK_STREAM,...

2020-01-07 19:04:01 392

原创 python内存优化之垃圾回收

关于垃圾回收在python中,为了优化性能,自身存在着垃圾回收(Garbage Collect, GC)机制,一般不需要认为干涉,它会自动执行内存垃圾回收,回收通常发生于变量(对象)的引用计数为0时。引用计数查看变量的引用计数>>> x10 = "cdsaa123kkkkkk">>> print(sys.getrefcount(x10))2这里需...

2020-01-01 22:14:21 658

原创 python代码调试

关于代码调试这里的代码调试,主要指的是 使用python库进行的debug代码调试,不包括使用第三方的IDE如pycharm进行的debug断点调试(过程为在某些代码行的左边点击加断点,然后 shift+f9 以 debug模式运行代码,执行单步操作,即可查看变量的运行值)。调试过程用到的python库包括:pdb和cProfile导入pdb库,查看该库包含的属性和方法>>&...

2020-01-01 04:04:43 534

原创 python编程高级篇(二)

内容简介这篇文章还是围绕类属性和魔法方法及装饰器进行展开学习的。涉及的类属性:__slots__其值为类初始化时用到的参数名列表或元组,主要用于设置(关闭或者限制)类的动态绑定属性,一旦设置了该属性,则类实例化之后,不可再 动态添加其他没有在该属性中声明的变量。魔法方法__new__ # 注意:在类实例化时,该方法比__init__先执行,并且必须返回类(return super()....

2019-12-30 23:23:36 104

原创 逆向入门之apk

关于apkapk,是Android应用程序包(Android application package),是一种压缩包,通过将应用程序所需的代码、程序配置文件和各种图片资源等打包,得到的一个文件,通过手机安装,所以是可以通过解压缩软件(如bandzip、winrar、360压缩等)进行解压,以获取内部文件。对apk文件进行解压之后,常见组成文件包括:G:\apk12345 的目录2019/......

2019-12-28 02:19:45 2049

原创 python编程高级篇(一)

python高级编程之所以是高级编程,是因为涉及的概念比较抽象。在python编程的世界里,一切皆是 对象,这是现实世界里的单身狗们所憧憬的的样子(玩笑!!)。既然一切都是对象,就是说:类,类的实例,类属性,函数,变量等都是对象(object)。对象类别判断常用的函数有 type 和 isinstance>>> type(1)<class 'int'>...

2019-12-27 02:06:53 172

原创 mysql用户自定义函数(UDF)dll插件编写

函数和储存过程数据库中,函数分为两类,普通函数,无需外部插件支持;用户自定义函数(user defined function,简称UDF),需要外部插件支持,例如dll文件(windows系统)或者so文件(linux系统)。函数的调用普通函数,使用储存过程调用;用户自定义函数,可以直接调用(前提是已有支持插件)。普通函数实例代码delimiter $$create function ...

2019-12-24 02:06:28 1673

原创 mysql数据库学习之锁操作和分区

数据库锁数据库的锁机制,是数据库的一种自我保护,是数据库安全的保证,同时也会对数据库性能带来一些影响。查看数据库mysql中表锁定状态的sql语句use mysql;show open tables;结果中字段 In_use为1时,表示改行对应的表处于锁定状态。手动为表 servers 加读锁,如加写锁则用write替换read。lock table servers read;解...

2019-12-21 17:14:28 489

原创 sql索引优化

数据库索引为了提升sql语句查询效率,通常会在数据库的表中添加索引,索引分为单值索引和复合索引,而唯一索引相当于一个单值索引的特例。索引创建tbl123表,字段id(主键,自增),name, email,age单值索引CREATE index idx_name ON users(name(15));复合索引CREATE index idx_name_age ON users(name...

2019-12-17 19:12:53 135

原创 mysql学习之性能优化

mysql性能优化本文所谈的性能优化不涉及 硬件和操作系统层级,主要涉及sql数据库(其实是数据库中的表)储存引擎(MyIsam、InnoDB、Csv 、Memory等)选择,sql语句的优化。存储引擎选择储存引擎选择 取决于具体的应用场景,设置储存引擎的具体方法:1、配置文件 my.ini 中修改在 [mysqld] 下面添加行default-storage-engine=InnoD...

2019-12-15 03:28:45 108

原创 算法学习之排序算法(三)

基数排序一般以10为基数,则元素组成为 0-9,共计 10 组数。排序过程:待排序数组:[20, 9, 4, 10, 31, 25]1、根据个位数分组根据个位数的值 分到对应的组,例如10,20分到编号为0的组;2、根据十位数分组在1分组的基础上,根据十位数分组,规则同1,如果元素只有一位数,则其十位数视作0;此时分组完成,如果其他情况下,还有百位、千位等,继续分组即可;3...

2019-12-01 23:13:31 102

原创 sql注入绕过整理(持续更新)

sql注入漏洞sql注入漏洞,是由于代码执行业务逻辑过程中,对客户端的输入没有进行过滤(或者过滤不充分)或者从数据库读取数据未进行必要过滤检查即直接展示到前端页面(二次注入)导致的,针对该漏洞,服务器端或者代理waf(web应用防火墙)会对接收到的注入利用语句进行过滤,本文主要整理了注入过程中遇到的waf注入防护时的一些常用绕过方法,主要利用了数据库特性、加粗样式、编码、进制转换,同义语句或者相...

2019-11-24 22:50:41 1491

原创 算法学习之树与算法

树结构树结构:关键组成:根节点,叶子节点。成员相对关系:父节点,子节点,兄弟节点。树的遍历:按照广度遍历:分层遍历,顺序为从上到下,从左到右。按照深度遍历:根据递归顺序,分为三种,前序即按照中、左、右的顺序,中序即按照左、中、右的顺序,后序按照左、右、中的顺序。算法实现节点类定义:class Node(object): def __init__(self, item, ...

2019-11-23 08:12:54 139

原创 算法学习之排序算法(二)

快速排序和归并排序快速排序过程:选择一个元素(通常为序列的第一位元素),将其分别与 序列中其他元素比较大小,将大于其值的元素放在 参照元素的右边,小于的放在其左边,之后 按照上面的过程分别 递归处理 新的序列的左右(参照元素作为划分界限)两部分,直到序列长度为1时,递归完成,则排序也结束了。快速排序的时间复杂度:最好为O(n*logn),最差为O(n**2)归并排序过程:拆分:将包含...

2019-11-23 02:23:08 146

原创 搜索算法之二分查找

二分法二分法查找,就是在一个 有序的序列中,查找目标数值,比较目标值与序列中间值的大小,假设序列为递增序列,如果目标值与序列中间值相等,则退出(return True),如果目标值大于中间值,则在中间值右半部分序列中按照前面的方法递归搜索,否则在中间值左半部分序列中按照前面的方法递归搜索,递归终止条件:序列长度为1且完成比较。算法实现实现方法:递归法和循环法。递归方法:def bins...

2019-11-22 02:10:26 154

原创 算法学习之排序算法(一)

排序算法本次的排序算法 介绍:选择排序、插入排序和希尔(shell)排序,对于冒泡排序,可以查看另一篇文章:排序算法学习之冒泡排序。选择排序(升序,下同)过程:对于长度为n的序列,第一轮从n个元素中找出最小值(的位置),将其与序列第一位元素交换;然后在第2-n个元素中找到最小值,将其与第二位元素交换,按照上述过程继续 比较和交换,直到完成最后两位元素的比较和交换,排序完成。插入排序过程:...

2019-11-20 06:47:13 143

原创 排序算法学习之冒泡排序

冒泡排序冒泡排序算法,是经典的排序算法之一,是一种稳定的排序算法。算法的时间复杂度:n*n,最优情况下,复杂度为 n。算法稳定性:在待排序的序列中,如果存在相同的数值,在排序前后,相同数值之间的相对位置(定性)不发生改变,则为稳定算法,否则就是非稳定算法。冒泡算法的执行过程,以升序排列为例:1、从序列一端的起始位置开始,依次比较当前位置与下一相邻位置的数值大小,如果当前位置数值大于下一相...

2019-11-18 00:54:33 193

原创 数据结构学习之栈与队列

栈和队列栈的结构特点:先进后出,后进先出。进口和出口相同。队列结构特点:先进先出。对于普通队列,其入口和出口不同,而对于双端队列,则可以在两端实现 入队列 和 出队列。还有一种阻塞队列,即执行入队和出队操作时,需要考虑 队列状态,比如 队列长度达到其容纳极限,此时无法执行入队操作,那么 入队这个操作会被 阻塞,直到队列有 空间可用。数据结构的代码实现实现语言为python,实...

2019-11-17 20:09:20 106

原创 手机app自动化操作工具airtest之入门篇

airtest自动化测试工具airtest是网易开发的一款自动化测试工具,主要用于游戏自动化开发和测试,目前支持对windows应用、手机app等,同时支持录制操作,甚至达到无需代码编写即可完成测试,能够识别图中是否存在目标元素(其实是比较目标图片和截图,确定目标是否在截图中)。它的操作相对appium来说更容易上手,进行移动端测试过程中,通常是利用其poco库来做自动化。微信自动化操作环...

2019-11-16 18:21:29 8728

原创 数据结构学习之线性表

线性表线性表,是由若干个数据特性相同的元素的组成有限序列。根据实现方式的不同,可以分为顺序表和链表,顺序表依据结构的差异,可以分为一体式和分离式两种;链表可以分为单向链表、双向链表和环形链表。本文以python编程的方式,对各种数据结构进行描述和实现。顺序表顺序表的结构可以分为表头和数据区两部分。表头用于描述表的信息,表头信息通常包括表容量、已使用情况(当前表成员数量),如果是分离式结...

2019-11-10 02:05:14 140

原创 python学习之RC4算法实现

RC4算法RC4算法是一种对称加密算法,即加密与解密的过程相同。假设其运算过程表示为rc4(key, data),其中key为密钥,data为待处理的数据,则:密文=rc4(key,data)data=rc4(key,密文)也就是说,对一段数据(原文)做奇数次RC4运算,得到密文,做偶数次RC4运算,结果还是原文。RC4算法是基于密钥流的加密算法。假设要加密的数据(明文)长度为N个字...

2019-11-02 17:56:36 2188

原创 学习随笔之序列化与反序列化

序列化与反序列化相关概念:序列化 和 反序列化。序列化:将对象转化为字符串,目的:便于对象的保存和传输。反序列化:将序列化字符串转化为对象。很多编程语言都有序列化和反序列化操作,比如 python、php、java、c# 等。python2中,用于序列化和反序列化的库为cPickle和pickle。cPickle是C语言写的,速度快,pickle是纯Python写的,速度慢,python...

2019-10-31 00:25:56 227

原创 mysql数据库常用操作整理

Mysql数据库MySQL,是当前最流行的关系型数据库管理系统(Relational Database Management System)应用软件之一,应用广泛。特点:开源,且支持 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等多种语言。支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为8TB...

2019-10-30 19:00:22 354

原创 python学习之类与魔法函数

类python中类(class)的元素组成:类属性和类中方法。通常情况下,可以为类添加任意属性,但是为了限制class的属性的任意添加,需要引用一个特殊是类属性:__slots__,使用后,在某些情况下,可以节约大量内存空间。class test(object): __slots__ = ('name', 'age') def __init__(self, name, age...

2019-10-29 01:37:35 134

原创 python学习之高阶函数

高阶函数本文中所指的高阶函数,是可以接收函数作为参数传入或者将函数作为返回值,这就是函数式编程,是一种高度抽象的编程范式。常见的内置高阶函数包括:map,reduce,filter,sorted,用法下面以 sorted 举例。sorted(['1','33','2'],key=int) # 返回 ['1', '2', '33']其余内置函数用法可以参考我的文章:python学习之序列推...

2019-10-28 02:47:51 220

原创 python学习之序列推导式与常用内置高级函数和模块

关于推导式推导式,可以看作是一种 “快捷方式”,可以便捷的建立诸如列表、字典等序列数据,在python2 和 python 3 中,对于数据类型界定是有差异的,对于数据类型归属的差异:以 range为例:a=range(10)# python2中>>> type(a)<type 'list'># python3中>>> type(a...

2019-10-23 06:21:32 219

原创 sklearn学习之加载本地数据

问题提出使用python的第三方机器学习库sklearn进行练习时,经常需要下载在线的数据压缩包,由于下载地址在国外,在没有梯子的前提下很难下载,或者下载一个几百兆的文件需要一两个小时,很消耗学习者的耐心和热情。本文提出的问题是:当通过其他途径(爬梯子或者从他人提供的网盘中)下载到了数据压缩包之后,如何导入(重点)本地已下载的文件,进行机器学习的模型训练和测试、预测。本文案例背景:使用 sk...

2019-10-18 00:27:01 8442

原创 mongodb数据库常用操作记录(持续更新)

mongodb数据库mongodb数据库,是典型的非关系型数据库(也有说是介于关系数据库和非关系数据库之间),存储数据类型为字典型(键值对),例如 {"a":123, "b":"abc"}。其特点是操作简易,可扩展性强,可以基于分布式,用于数据存取和日志记录等。下面从常规的命令行操作和python操作进行记录。命令行操作1、配置数据库假设mongodb的安装目录(mongod.exe...

2019-10-13 04:42:54 896

原创 redis数据库常用操作(持续更新)

redis数据库redis数据库属于非关系型数据库,数据是键值对形式,由于在内存中执行常规的增、删、改、查操作,因此执行速度快,适用于做缓存数据库,当然除了基于内存,也可以根据需要做持久化存储(保存数据到硬盘)。下面从常规的 命令行操作和python操作进行记录,基于windows服务器。命令行操作1、服务器(server)端首先,下面所有操作前提是安装好redis程序,本文略去安装过程...

2019-10-12 23:10:10 506

原创 python序列数据常用操作整理(持续更新)

python序列这里指的序列,主要包括的数据类型为:列表(list)、字典(dict)、元组(tuple)、集合(set)。序列操作1、列表列表拼接(1)利用 “+” 号a = [1,2]b = [3,4]c = a + b # c = [1,2,3,4](2)切片赋值a = [1,2]b = [3,4]a[len(a):len(a)] = b # a = [1,2,3,...

2019-10-09 19:47:31 403

vulnerability scanner

网站安全扫描利器,国外专业网络扫描软件,但是并非付费的完全版功能软件

2011-12-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除