《Python黑帽子》python3代码实现(第五章)

第五章 Web攻击

Web的套接字函数库:urllib2Requests

这里原著中python2所使用的urllib2模块要被淘汰了,这里我们使用python3的requests模块实现相同的功能。

首先安装requests模块:

pip install requests

我们首先简单了解一下requests模块的简单用法:

import requests

url = "http://www.baidu.com"
# 以字典的形式,构造请求头
headers = {
   "User-Agent": "Googlebot"}
# 提交的参数和其值
# payload = {Key1: Value1, Key2: Value2}
# 设置cookie
# cookie = {"Cookie": "*******"}
# 以GET方式请求服务器
body = requests.get(url, headers=headers''', cooikes=cooike,params=payload''')
# 以POST方式请求服务器
body = requests.post(url, headers=headers''', cooikes=cooike,params=payload''')
body.encoding                       #获取当前的编码
body.encoding = 'utf-8'             #设置编码
body.text                           #以encoding解析返回内容。字符串方式的响应体,会自动根据响应头部的字符编码进行解码。
body.content                        #以字节形式(二进制)返回。字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩。
body.cookies						#获得cookie
body.headers                        #以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None

body.status_code                     #响应状态码
body.raw                             #返回原始响应体,也就是 urllib 的 response 对象,使用 r.raw.read()   
body.ok                              # 查看ok的布尔值便可以知道是否登陆成功
print(body.text)

这里我们可以看到成功输出百度的响应内容

在这里插入图片描述

开源web安装:

这里可以选择安装与原著相同的joomla,也可以安装其他的一些后台管理系统。

我这里拿我本地搭建的wordpress来举例:下载wordpress源码文件到本地后,通过程序读取源码文件名,过滤一些无意义文件,最后通过构建url,服务器返回的状态码来判断页面或路径是否存在。

import queue
import threading
import os
import requests

# 设置线程
threads = 10
# 指定网站
target = "http://www.test.com/"
# 指定本地扫描路径
directory = "wordpress"
# 排除后缀
filters = [".jpg", ".gif", ".png", ".css"]

# 切换路径
os.chdir(directory)
# 实例化queue
web_paths = queue.Queue()

# 在当前目录下进行遍历目录或文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值