目录&基础知识
0x00 Python编程中一些模块的简单介绍(基础知识)
0x01web目录扫描程序
--脚本代码的实现和分析
--优化脚本
0x02实现一个反弹shell
----脚本演示--脚本分析
----拓:简单实现netcat的脚本--基础知识补充--详细分析脚本执行流程
0x03用多线程扫描某一网段中存活的主机
----脚本利用演示+实现思路分析
----基础知识补充
0x04nmap实现端口扫描(准确性更高)
----基础知识
----脚本实现分析
----进一步优化脚本
0x05抓取应用的banner推断服务
----脚本分析
0x06 Zip包破解程序
----脚本分析
0x07 Python实现键盘记录器
----脚本分析
0x08字典生成程序
----基础知识--脚本分析
0x00 Python编程中一些模块的简单介绍(基础知识)
requests--请求url常用,可用于爬虫
跟这个相近的还有一个hackhttp模块,这个比较少人用,但是它有一个强大的功能,那就是支持原生态的请求头等原生态的数据,跟requests模块里面加个header有点类似却又不一样,就像之前世安杯的有一题登录框爆破的题(需要re简单抓取验证码),如果使用requests去写的话需要就需要先设置一个session才能爆破成功,但是如果是用hackhttp模块,可以直接burp抓包,然后复制原生态的请求数据直接使用hackhttp模块重放数据包,这样不需要设置session也可以爆破成功。
- re---正则相关的模块
- Exrex也是一个正则相关的模块
- Bs4的Beautifulsoup--常用于匹配一些dom树很有用的模块,但是效率要比re低很多,这个的模糊匹配的程度比较大,里面都是一些写好了的正则匹配的封装方法。
- Requests,re,beautifulsoup常用于网络爬虫
- PIL pytesser opencv 一些跟图像处理有关的模块
- Queue--可以理解成是一种队列的数据结构
- Threading--多线程编程相关的模块
- Sys,os,getopt,optparse,subprocess--一些和用户交互或者是跟系统交互的模块,例如可以接受解析命令行参数等等,便于进行与操作系统的交互或者是与用户之间的交互的模块
- sys.argv列表中含有所有的命令行参数,sys.argv[0]为Python脚本的名称,其余的都是命令行参数
- OS模块
- os.path.isfile()检查该文件是否存在
- os.access()判断当前用户是否有权限读取该文件
- Socket--套接字相关的模块,常用于建立tcp,udp这些连接
- Time---跟时间有关的模块
- Pexpect,pxssh模块--可用于爆破ssh密码
- IPy--跟IP处理有关的模块
- Python-nmap模块--常用来实现高效的扫描操作,主机扫描,端口扫描,服务扫描等等
- Zipfile--跟zip包处理有关的模块,可用于爆破zip包
- Scapy --一个强大的交互式数据包处理程序,它能够伪造或者解码大量的网络协议数据包,能够发送、捕捉、匹配请求和回复包等等
- 变量:字符串,整型数,列表,布尔值,字典
- 字符串四个方法:upper()大写输出、lower()小写输出、replace()替换、find()查找
- 列表:append()方法向列表添加元素、index()返回元素的索引、remove()删除元素、sort()排序、len()返回列表长度
- 字典:keys()返回词典中所有键的列表、values()返回词典中所有值的列表、items()返回词典中所有键值对的元祖的列表
- 异常处理:try/except语句进行异常处理,可以将异常存储到变量e中以便打印出来,同时还要调用str()将e转换成一个字符串
if 条件一:
语句一
elif 条件二:
语句二
else:
语句三