• 欢迎访问小澍的博客,编程记录,技术贴以及折腾的日常,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏我的博客吧

Python 安全编程篇——入门(上)

技术 root 1年前 (2019-07-14) 1718次浏览 已收录 0个评论

写在开篇

本系列主要介绍使用Python进行网络安全下的应用,包括使用框架进行爬虫(request、hackhttp等)、常见的信息安全收集工具实现(字典生成器、目录扫描、指纹识别等)、BP插件编写三块内容,本篇先记录学习的一些必备Python安全编程基础(不是Python 基础)

学前必备:

  1. Python基础知识(《Python 核心编程》)
  2. 了解http(https)协议
  3. 会用BurpSuite(BP)

Python 正则表达式

概念

是一种使用单个字符串来描述、匹配一系列符合某个句法规则的字符串,使用这种表达式可以更加优雅的对字符串进行检索、匹配和处理。
常见的使用场景比如在爬虫中,检索所有的ip地址。

使用

  1. 模块基本使用
    Python中使用re模块,其内部过程如下图所示:
    blob.jpg
    例子:
import re
pattern = re.compile('hello')
match  = pattern.match('hello world')
print(match.group())

执行后输出:
hello
或者可以直接写为:

word = re.findall('hello','helloworld!')
print(word)

输出:
['hello']
2. 常用的匹配字符
1). , 可用于匹配除换行符意外的字符:

word = 'https://www.gaosir.cn/some_kinds_of_url'
key = re.findall('h.',word) #匹配h后面的字符(一个字符)
print(key)

out:
['ht']
2)\,匹配转义字符

#还是上面的word
key = key = re.findall('\.',word)
print(key)

out:
['.', '.']
3) %[…] ,匹配字符集,括号中可填入可匹配的字母或者范围,[abc]和[a-c]都代表匹配包含abc三个字母中任意的一个,[^abc]则代表取反

word = 'https://www.gaosir.cn/some_kinds_of_url hack'
key = re.findall('h[abc]c',word)
print(key)

out:
['hac']
4) \d:匹配数字(0-9)

word2 = 'This is a serious joke and here is some 2333 things_1.1'
key = re.findall('\d',word2)
print(key)

out:
[‘2’, ‘3’, ‘3’, ‘3’, ‘1’, ‘1’]
5)\D: 匹配非数字

key = re.findall('\Ds',word2)
print(key)

out:
['is', 'is', ' s', 'us', 'is', ' s', 'gs']
6)\s: 匹配非空字符,如空白字符

key = re.findall('\s',word2)
print(key)

out:
[' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ']
7)\S:匹配非空白字符

key = re.findall('\S',word2)
print(key)

这里截个输出。。
blob.jpg
8)\w: 匹配单词字符
9) \W: 匹配非单词字符,例子就省略了
从上面的例子,可以看出构造的基本法,下面用表格继续展示一些常用规则:
blob.jpg
blob.jpg
3. 贪婪模式和非贪婪模式
贪婪与非贪婪即代表尽可能多的比配与尽可能少的匹配字符;如下图所示,带%* 即代表使用贪婪模式,多加问号即代表非贪婪模式:
blob.jpg
4. 更多:
匹配字符规则非常多,更详细的拼接可以看这个传送门

网络编程基础

常用库

  1. urllib与urllib2
    Python自带的web交互模块,urllib.urlretrieve()可用来下载文件,urllib2.Requests()可用来定制网络头。了解就好因为第三方库更好用。
  2. requests
    方便、快捷有效的第三方库,不需要手动为 URL 添加查询字串,也不需要对 POST 数据进行表单编码。Keep-alive 和 HTTP 连接池的功能是 100% 自动化的,一切动力都来自于根植在 Requests 内部的 urllib3。
    1) 安装: pip install requests
    2)快速上手需要了解常用功能,包括:发送请求、传递URL、响应内容(包括二进制、JSON、原始响应内容)、定制请求头、POTS请求、响应状态码、响应头,具体可以看这里

XiaoShuBlog , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python 安全编程篇——入门(上)
喜欢 (0)
[gaosirgoo@foxmail.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址