python黑帽子(第五章)】的更多相关文章

对开源CMS进行扫描 import os import queue import requests # 原书编写时间过于久远 现在有requests库对已经对原来的库进行封装 更容易调用 import threading # 设置线程 threads = 10 # 指定网站 target = "" # 指定本地扫描路径 directory = "" # 无效文件的后缀 filters = [".jpg", ".gif", &q…
Scapy窃取ftp登录账号密码 sniff函数的参数 filter 过滤规则,默认是嗅探所有数据包,具体过滤规则与wireshark相同. iface 参数设置嗅探器索要嗅探的网卡,默认对所有的网卡进行嗅探. prn 参数指定嗅探到符合过滤器条件的数据包时所调用的回调函数,这个回调函数以接受到的数据包对象作为唯一参数. count 你需要嗅探的数据包的个数,默认无限个. store 值为0 表示不再内存中保存原始包 建议在linux下使用scapy模块,运行时需要root权限 from sca…
Windows/Linux下包的嗅探 根据os.name判断操作系统 下面是os的源码 posix是Linux nt是Windows 在windows中需要管理员权限.linux中需要root权限 因为是开启混杂模式(混杂模式允许我们嗅探网卡上流经的所有数据包,即使数据的目的地址不是本机) import socket import os # 监听的网卡 0.0.0.0表示所有网卡 host = "192.168.1.102" # Windows和Linux的区别是Windows允许我们…
Python黑帽子  黑客与渗透测试编程之道   <<< 持续更新中>>> 第一章: 设置python 环境 1.python软件包管理工具安装 root@starnight:~# apt-get install python-setuptools python-pip root@starnight:~# pip install github3.py [注]如果在安装的过程中出现:E: Sub-process /usr/bin/dpkg returned an erro…
python代码见码云:20179204_gege 参考博客Python黑帽子--黑客与渗透测试编程之道.关于<Python黑帽子:黑客与渗透测试编程之道>的学习笔记 第2章 网络基础 tcp客户端(tcpclient.py),可以看到百度返回的HTTP响应. udp客户端(udpclient.py) 首先先用nc监听一下9999端口,-u就是udp模式,哈哈发过去了,最后打印出了ip和端口,nc没发数据过来,可能就没收到数据. 现在就可以比较一下tcp和udp的区别了,最核心的是udp不用连…
python学习心得第五章 1.冒泡排序: 冒泡是一种基础的算法,通过这算法可以将一堆值进行有效的排列,可以是从大到小,可以从小到大,条件是任意给出的. 冒泡的原理: 将需要比较的数(n个)有序的两个两个的进行比较,直到第一次所有的值都比较完成,就可以得出第1次排列的顺序,同理第二次将(n-1)个数进行比较,得到第二次排列的结果,n为1 的时候结束比较,其实就是5个数需要比较4次,每一次都是两个数进行两两比较,因为比较的方式就像水里面冒泡的现象所以称为冒泡算法. 由上述代码可以看出冒泡算法的核心…
进击的Python[第十五章]:Web前端基础之DOM 简介:文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式.我们最为关心的是,DOM把网页和脚本以及其他的编程语言联系了起来.DOM属于浏览器,而不是JavaScript语言规范里的规定的核心内容. 一.查找元素 1.直接查找 document.getElementById 根据ID获取一个标签 document.getE…
第十五章. 结构布局 #!/usr/bin/env python #(1)起始行 "this is a module" #(2)模块文档 import sys #(3)模块导入 debug = True #(4)全局变量定义 class Fooclass(object): #(5)类定义 "Foo class" pass def test(): #(6)函数定义 "test function" foo = Fooclass() if debug:…
知乎原链 续前作: 中文代码示例视频演示Python入门教程第四章 控制流 对应在线文档: 5. Data Structures 这一章起初还是采取了尽量与原例程相近的汉化方式, 但有些语义较偏(如Trondheim的hammer dance). 鉴于这一教程的目的在于使人尽量快速入门Python, 而任何不熟悉的词汇都会加上不必要的负担. 于是最终决定不拘泥于与原例程的"形似", 而采取在例程中使用更为国人熟知的词汇了. 中文代码示例Python入门教程 5.1 列表详述_哔哩哔哩…
基于python3编写 import sys, socket, getopt, threading, argparse, subprocess # globals options listen = False command = False upload = None execute = None target = None upload_destination = None port = None def main(): global target global command global…
TCP客户端 在渗透测试工程中,我们经常会遇到需要创建一个TCP客户端来连接网络.发送垃圾数据.进行模糊测试等任务的情况.但是所处环境不具备丰富的网络工具,下面是一个简单的TCP客户端 import socket # 要连接目标的ip和端口 target_host = '127.0.0.1' # ip或者域名 target_port = 1111 client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client.connect((…
2016/1/29学习内容 第四章 Python函数设计与使用 之前的几页忘记保存了 很伤心 变量作用域 -一个变量已在函数外定义,如果在函数内需要修改这个变量的值,并将这个赋值结果反映到函数之外,可以在函数内用global声明这个变量为全局变量,明确声明要使用已定义的同名全局变量 -在函数内部直接使用global关键词将一个变量声明为全局变量,即使在函数外没有定义该全局变量,在调用这个函数之后,将自动增加新的全局变量 def demo(): global a; a=3; demo(); pri…
1.用大写字母 “L”表示长整数 尽管 Python 也支持用小写字母 L 标记的长整型,但是我们郑重推荐您仅使用大写的 “L”, 这样能有效避免数字1 和小写L 的混淆.Python 在显示长整数类型数值的时候总是用大写“L ”, 目前整型和长整型正在逐渐缓慢的统一,您只有在对长整数调用repr()函数时才有机会看到 “L”,如果对长整数对象调用str()函数就看不到 L .举例如下: >>> aLong = 999999999l >>> aLong 99999999…
一.模块介绍: 1.模块定义 用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质上就是.py结尾python文件 分类:内置模块.开源模块.自定义模块 2.导入模块 本质:导入模块的本质就是把python文件解释一遍:导入包的本质就是把包文件下面的init.py文件运行一遍 ① 同目录下模块的导入 #同级目录间import import module_name #直接导入模块 import module_name,module2_name #导入多个模块 使用:模块名.…
1.长整型表示数的范围比整型更大.在python中,整型.长整型趋于统一,普通用户不用特别关注两者区别,仅当需引用C语言时需要特别注意. 2.操作符 (a) def product(x,y): return x * y (b) >>> print product(23,24) 552 3. def result(x): if 90 <= x <= 100: return "A" elif 80 <= x <= 89: return "…
1.用del删除对对象的引用 >>> a = 123 >>> a 123 >>> del a >>> a Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError : name 'a' is not defined 2.整型 (1)布尔型    该类型取值范围只要两个值:布尔值True 和…
1首先你得有个Kali 检测python版本 安装pip 2安装wingIDE 网站 http://www.wingware.com 获取WingIDE 3解压wingide并且解决依赖关系 下载后在终端打开,使用dpkg -i 包名 解压安装 会报错 4一直出错,安装不上 因此我们得换源 5.更新源写入如图 换源步骤:a.vi /etc/apt/sources.list b.写入以下源 当前可用 #官方源 deb http://http.kali.org/kali kali-rolling m…
数字 1.数字类型 python支持多种数字类型:整型.长整型.布尔型.双精度浮点型.十进制浮点型和复数 . 创建数值对象并赋值 aint=1 along=-999999999999999L afloat=3.1415973434325 acomplex=1.34+3.45J 2.整型 布尔类型:True.False 标准整数类型 长整型 3.双精度浮点数 4.复数 复数由实数部分与虚数部分组成 1.23+4.56j 复数内建属性 num.real  返回复数的实部 num.imag 返回复数的…
模块 使用模块可以提高了代码的可维护性.其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其他地方引用.我们在编写程序的时候,也经常引用其他模块,包括Python内置的模块和来自第三方的模块: 使用模块还可以避免函数名和变量名冲突.相同名字的函数和变量完全可以分别存在不同的模块中,因此,我们自己在编写模块时,不必考虑名字会与其他模块冲突. 作用域 有的函数和变量我们希望仅仅在模块内部使用.在Python中,是通过_前缀来实现的. __xxx__这样的变量是特殊变量,可以被直接引用,但是有特…
基于浏览器的中间人攻击: #coding=utf-8 import win32com.client import time import urlparse import urllib data_receiver = "http://localhost:8080/" target_sites = {} target_sites["www.facebook.com"] = { "logout_url" : None, "logout_for…
有趣的键盘记录: 安装pyHook: http://nchc.dl.sourceforge.net/project/pyhook/pyhook/1.5.1/pyHook-1.5.1.win32-py2.7.exe 安装pythoncom: http://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/pywin32-219.win32-py2.7.exe/download 若上述两个包安装没问题的话调用猜测的结果是这样的: 因…
GitHub账号设置: 这部分按书上来敲命令即可,当然首先要注册一个GitHub账号还有之前安装的GitHub API库(pip install github3.py),这里就只列一下命令吧: mkdir trojan cd trojan git init mkdir modules mkdir config mkdir data touch modules/.gitignore touch config/.gitignore touch data/.gitignore git add . gi…
下载jython,在Burpsuite的扩展中配置jython路径: Burp模糊测试: #!/usr/bin/python #coding=utf-8 # 导入三个类,其中IBurpExtender类是编写扩展工具必须的类,后两个是创建Intruder载荷生成器导入的类 from burp import IBurpExtender from burp import IIntruderPayloadGeneratorFactory from burp import IIntruderPayloa…
Web的套接字函数库:urllib2 一开始以urllib2.py命名脚本,在Sublime Text中运行会出错,纠错后发现是重名了,改过来就好: #!/usr/bin/python #coding=utf-8 import urllib2 url = "http://www.baidu.com" headers = {} headers['User-Agent'] = "Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/2010…
窃取email认证: 测试代码: #!/usr/bin/python #coding=utf-8 from scapy.all import * #数据包回调函数 def packet_callback(packet): print packet.show() #开启嗅探器 sniff(prn=packet_callback,count=1) 运行结果: mail_sniffer.py: #!/usr/bin/python #coding=utf-8 from scapy.all import…
Windows和Linux上的包嗅探: #!/usr/bin/python import socket import os #监听的主机 host = "10.10.10.160" #创建原始套接字,然后绑定在公开接口上 if os.name == "nt": socket_protocol = socket.IPPROTO_IP else: socket_protocol = socket.IPPROTO_ICMP sniffer = socket.socket(…
TCP客户端: 示例中socket对象有两个参数,AF_INET参数表明使用IPv4地址或主机名 SOCK_STREAM参数表示是一个TCP客户端.访问的URL是百度. #coding=utf-8 import socket target_host = "www.baidu.com" target_port = 80 #建立一个socket对象 client = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #连接客户端 client…
5.1 如何引入模块 在Python中用关键字import来引入某个模块,比如要引用模块math,就可以在文件最开始的地方用import math来引入.在调用math模块中的函数时,必须这样引用: 模块名.函数名 有时候我们只需要用到模块中的某个函数,只需要引入该函数即可,此时可以通过语句 from 模块名 import 函数名1,函数名2.... 5.2 如何定义自己的模块 在Python中,每个Python文件都可以作为一个模块,模块的名字就是文件的名字. 比如有这样一个文件test.py…
环境说明:python3.6 所需要模块:wmi.pyqt5.pythonMagick 先放上一张成品效果图,如图所示: 界面利用pyqt5的designer实现,画好界面如下图所示: 画好后,保存好,利用pyuic5命令将.ui文件转换为.py文件,转换后的代码贴在下面: # -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'E:/py/wmi_ui.ui' # # Created by: P…