运用Python成为黑客
1.Fuzz测试:
漏洞挖掘有三种方法:白盒代码审计、灰盒逆向工程、黑盒测试。其中黑盒的Fuzz测试是效率最高的一种,能够快速验证大量潜在的安全威胁。
Fuzz测试,也叫做“模糊测试”,是一种挖掘软件安全漏洞、检测软件健壮性的黑盒测试,它通过向软件输入非法的字段,观测被测试软件是否异常而实现。Fuzz测试的概念非常容易理解,如果我们构造非法的报文并且通过测试工具打入被测设备,那么这就是一个Fuzz测试的测试例执行,大多数测试工程师肯定都尝试过这种测试手段。
对于网络协议漏洞挖掘来说,Fuzz测试也就意味着打入各种异常报文,然后观察设备是否有异常。
2.IDA是什么:IDA是一个反汇编软件;交互式反汇编器专业版(Interactive Disassembler Professional),人们常称其为IDA Pro,或简称为IDA。
3.代码审计:顾名思义就是检查源代码中的缺点和错误信息,分析并找到这些问题引发的安全漏洞,并提供代码修订措施和建议;
4.Python入门:安装第三库:
**把包下载到本地后解压:
wget http://***//***//nmap.tar.gz
tar -xzf nmap.tar.gz
**把当前目录切换到解压出来的目录:
cd python-nmap-0.2.4/
**在这个目录中用python setup.py install命令安装包:
python setup.py install
5.TCP套接字:
TCP的套接字就是IP号加端口号。其中,IP号是网络层用来寻找主机的;端口号是运输层用来找进程的,在网络层找到主机后就依据端口号找到相应进程,从而实现用户与服务器的通信。
6.读取banner:即连接上服务器后,服务器响应的第一句欢迎语句
7.Python变量:
**Python中,变量是指存储在某个内存地址上的数据,这个内存地址可以存储不同的值,如整型,实数,布尔值,或列表(list)或词典这类复杂的数据;
**声明变量时,Python会为变量保留内存空间,程序员可以不显式的声明变量的类型,Python解释器可以决定变量的类型和为变量保留的多少内存空间;
8.安装Python的第三方模块:
**在windows环境下,python配置过环境变量后,最新版本的python自动安装easy_install命令:
**所以,在cmd下使用easy_install命令安装第三方模块就可以:
easy_install python-nmap
easy_install pyPdf python-nmap pygeoip mechanize BeautifulSoup4
9.如果我们使用pip安装失败,我们可以直接下载包或模块的安装文件,然后手动安装。
**常用的两个下载包和模块安装文件的网站:PyPI-the Python Package Index和Python Extension Packages。
**在上面右上角红线框住的search中输入你要下载的包或模块名,即可进入下载页面。下载的是压缩文件,如何安装呢?
1)解压,cmd下直接按:c:就可以进入C盘
2)在命令提示符窗口中,使用cd进入到解压后的文件的路径下
3)输入命令python setup.py install
**这个网站下载的是后缀为.whl的文件,怎么来运行下载的.whl安装文件呢?
1)在命令提示符窗口中,找到指定路径(.whl安装文件的路径)
2)pip install .whl文件名
10.在windows下,cmd中可以直接使用pip命令:但是需要版本更新:
X:\>pip install python-bluez bluetooth python-obexftp
Collecting python-bluez
Could not find a version that satisfies the requirement python-bluez (from versions: )
No matching distribution found for python-bluez
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
X:\>python -m pip install --upgrade pip
Collecting pip
Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
100% |████████████████████████████████| 1.3MB 265kB/s
Installing collected packages: pip
Found existing installation: pip 8.1.1
Uninstalling pip-8.1.1:
Successfully uninstalled pip-8.1.1
Successfully installed pip-9.0.1
11.Python字符串:string模块提供了一系列非常强壮的处理字符串的方法:
**lower():将字符串转成小写形式;
**replace(old,new):用new子串取代old子串
**find():返回子串在字符串中第一次出现时的偏移量;

12.Python的List(列表):list数据结构是在python中存储对象数组的极好方法,list还内置了执行添加,插入,删除,出站,索引,计数,排序,反转等操作方法;
**append()方法:添加元素进入list;
**sort()方法:对list中的元素排序;
**index()方法:对list中指定的元素进行索引;
**remove()方法:删除list中指定的元素;

13.Python的词典:Python的词典数据结构提供了一个可以存储任意数量的Python对象的哈希表;
**词典由n对键和值的项(item)组成;
**创建词典时,每个键和它的值都是以冒号分隔的,同时用逗号分隔各个项;
**注意:key()方法返回的是词典中所有键的列表,而 .items()方法返回的是词典中所有项的完整信息的列表;

14.Python的网络:socket模块提供了一个用python进行网络连接的库;
**导入socket模块后,实例化一个socket类的新变量;
**用connect()方法建立与指定IP地址与端口的网络连接;
**连接成功后,就可以通过套接字进行读/写操作
**recv(1024)方法将读取套接字中接下来的1024B数据

15.Python的条件选择语句:IF语句是对逻辑表达式进行求值,并根据求值结果做出决定;
**要想知道某个指定的FTP服务器中是否存在可以攻击的漏洞,就需要将服务器的响应结果与一些已知的存在漏洞的FTP服务器版本的信息进行比较;
>>>import socket
>>>socket.setdefaulttimeout(2)
>>>s=socket.socket()
>>>s.connect(("192.168.95.148",21))
>>>ans=s.recv(1024)
>>>if ("FreeFloat Ftp Server (Version 1.00)" in ans):
... print("[+] FreeFloat FTP Server is vulnerable.")
...elif("3Com 3CDaemon FTP Server Version 2.0" in banner):
... print("[+] 3CDaemon FTP Server is vulnerable.")
...elif ("Ability Server 2.34" in banner):
... print("[+] Ability FTP Server is vulnerable.")
..elif ("Sami FTP Server 2.0.2 "in banner):
... print("[+] Sami FTP Server is vulnerable.")
...else:
... print("[-]FTP Server is not vulnerable. ")
16.Python的异常处理:try/except语句进行异常处理:
>>>try:
... print("[+] 1337/0="+str(1337/0))
...except:
... print("[-] Error")
>>>try:
... print("[+] 1337/0="+str(1337/0))
...except Exception,e: //将异常存储到变量e,同时还要显式的将变量e转换为一个字符串
... print("[-] Error="+str(e))
运用Python成为黑客的更多相关文章
- 教你用python假装黑客装逼,当着朋友的面破解他的网站密码!
如何破解iphone登陆密码 今天看了一篇关于如何破解iphone手机密码的文章,瞬间觉得科学技术不是第一生产力,why? 根据“可靠消息”称,即便美国FBI也无法轻易的对iphone手机进行暴力破解 ...
- 一张图11招学会Python网络黑客
全部学起来: 第一招:搭建Python防范环境 第二招:扫描漏洞 第三招:暴力破解的秘密 第四招:防SQL注入 第五招:防命令注入 第六招:看清文件上传木马 第七招:看清Web攻击 第八招:利用Pyt ...
- Python写黑客小工具,360免杀
构思: client:反向连接server,执行shell命令 server:发送命令,控制客户端 import subprocess import socket import threading t ...
- 【同行说技术】Python程序员小白变大神必读资料汇总( 三)
在文章<Python开发.调试.爬虫类工具大全>里面向大家总结了各种实用工具和爬虫技术,今天小编收集了5篇带有实例干货的资料,赶紧来看看吧!另外,喜欢写博客的博主可以申请加工程师博主交流群 ...
- 用python开发调试器——起始篇
首先,你得准备一套python开发环境,正常情况下,一般是在windows下开发的,因为win系统应用广泛,再则就是要有个IDE,这里我选择我熟悉的Eclipse.环境搭建,网上都有,比如:http: ...
- React++ node.js ++SQL Sever ++MySQL++ python ++ php ++ java ++ c++ c#++ java ++ android ++ ios ++Linux+
"C语言在它诞生的那个年代,是非常不错的语言,可惜没有OOP.当项目臃肿到一定程度,人类就不可控了. 为了弥补这个缺陷,C++诞生了.而为了应对各种情况,C++设计的大而全,太多复杂的特性, ...
- Python是什么
Python是一种编程语言,它的名字来源于一个喜剧.也许最初设计Python这种语言的人并没有想到今天Python会在工业和科研上获得如此广泛的使用.著名的自由软件作者Eric Raymond在他的文 ...
- Python利用ctypes实现C库函数调用
0X00 ctypes 是强大的,使用它我们就能够调 用动态链接库中函数,同时创建各种复杂的 C 数据类型和底层操作函数.使得python也具备了底层内存操作的能力,再配合python本身强大的表达能 ...
- BlackArch-Tools
BlackArch-Tools 简介 安装在ArchLinux之上添加存储库从blackarch存储库安装工具替代安装方法BlackArch Linux Complete Tools List 简介 ...
随机推荐
- 汉企PHP开班
明天PHP正式开班,没什么大目标 ,在四个半月的时间吧基础知识掌握牢固,自信的面对企业.
- 自定义ToolBar之一
其实已经有很多大神写过这方面的文章了,不过我比较蠢吧,老有一些地方看不懂的,翻了很多关于Toolbar方面的文章和视频,这儿总结一下. 参考资料:youtube:slidenerd 阶段一 自定义配 ...
- UIButton 的点击事件详解
UIControlEventTouchDown 单点触摸按下事件:用户点触屏幕,或者又有新手指落下的时候. UIControlEventTouchDownRepeat 多点触摸按下事件,点触计数大于1 ...
- SQL Server 2008 R2 安装出错:Could not open key
安装Sql Server 2008 R2 企业版出现错误提示无法继续安装,错误提示为: Could not open key: UNKNOWN\Components\7ABFE44842C12B390 ...
- 地图API文档
目录 腾讯地图API 2 1.API概览... 2 1.1 WebService API(官网注明是beta版本,可能不稳定,慎用):... 2 1.2 URL API:... 2 1.3 静态图AP ...
- C#封装C++DLL
1.新建一个C#-Windows-类库(用于创建C#类库(.dll)的项目)类型的工程 2.对于普通C++函数 XXXX_API void cppFun(int i); 在cs代码中添加 [DllIm ...
- IOS中定时器NSTimer的开启与关闭
调用一次计时器方法: myTimer = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(scro ...
- 二、JavaScript语言--事件处理--DOM事件探秘
第一章 事件流 事件:是文档或浏览器窗口中发生的.特定的交互瞬间.JavaScript和HTML之间的交互都是通过事件来实现的. 事件流:描述的是从页面中接受事件的顺序 IE:事件冒泡流 Netsca ...
- 查看centos的版本
[root@NB Desktop]# lsb_release -a LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4 ...
- Delphi的面向对象编程基础笔记
1.面向对象.一门面向对象的编程语言至少要实现以下三个OOP的概念 封装:把相关的数据和代码结合在一起,并隐藏细节.封装的好处是利用程序的模块化,并把代码和其他代码分开 继承:是指一个新的类能够从父类 ...