0


【Python编写漏洞测试工具入门】

Python编写漏洞测试工具入门

学习内容来自Web白帽子Python编写漏洞测试工具入门
第一章 Python编写漏洞测试工具入门

文章目录


前言

本篇文章用于记录毕业设计(Python编写web漏洞扫描器系统的设计与实现),之前的设计题目由于在本科期间并没有过多的接触算法实在是难以实现而不得不放弃QAQ。

一、具体功能

1.设计一个系统实现web漏洞的扫描;
2.实现子域名探测的功能;
3.漏洞包括不限于sql注入(可探查数据库中表的字段数、表名、列名);
4.XSS漏洞

二、HTTP协议

HTTP模型:客户端请求——服务器响应
状态相应码:标识接受或拒绝相应
测试网站:https://httpbin.org/#/
在这里插入图片描述

1.HTTP请求

get方式

无参数:

import requests //记得

url ="https://httpbin.org/get"
r = requests.get(url)print(r.status_code)

要首先安装requests库
status_code可获得网页状态码

有参数:
有参数时GET用params存储字典payload,POST用data存储字典payload。

import requests

url ="http://127.0.0.1/DVWA-master/vulnerabilities/brute/"

payload ={'username':'admin','password':'password','Login':'Login'}
r = requests.get(url,params=payload)print(r.url)print(r.status_code)print(type(r.text))
result = r.text
if result.find("Welcome"):print("admin:admin "+'successful')

post请求

无参数和get类似,下面演示带参数的

import requests

url ="http://127.0.0.1/DVWA-master/vulnerabilities/brute/"

data ={'username':'admin','password':'password','Login':'Login'}
r = requests.get(url,data=data)print(r.url)print(r.status_code)print(type(r.text))
result = r.text
if result.find("Welcome"):print("admin:admin "+'successful')

2.HTTP请响应

使用r = requests.get(url)来存储url,然后便可以获得
状态相应码:r.status_code
相应文本:r.text/r.conrent
相应头:r.headers
请求url: r.rul
cookie: r.cookie

3.HTTP代理

设置代理并使用python返回状态码并用burpsuite进行截断

import requests
url ="http://127.0.0.1/DVWA-master/"#ip 192.168.1.104#
proxies ={'http':'http://192.168.1.104:8080','https':'https://192.168.1.104:8080'}
r = requests.get(url,proxies=proxies,verify=False)print(r.status_code)

运行后返回burpsuite可以返现已经被截断,点击forword之后成功得到状态码

4.HTTP会话编程

携带cookie的会话,访问某些页面时,会通过Set-Cookie设置Cookie的值,以便下一次访问自动提交cookie进行身份验证。
python-session:
s = request.Session()
r = s.get(url)

在第一次访问时并没有在报文头中返回我们所需要的cookie值,是因为在我们请求之后才会返回对应的cookie值,我们下次再使用当前会话进行访问url时才会把对应的cookie返回到相应的请求中

import requests
url ='https://www.baidu.com'
s = requests.session()
r = s.get(url)print(r.cookies)print(r.request.headers)

r1 = s.get(url)print(r1.cookies)print(r1.request.headers)

在这里插入图片描述

总结

提示:这里对文章进行总结:

对python编写http相应的操作进行了学习,希望毕设能顺利完成吧


本文转载自: https://blog.csdn.net/weixin_47576228/article/details/123478188
版权归原作者 月伴清风 所有, 如有侵权,请联系我们删除。

“【Python编写漏洞测试工具入门】”的评论:

还没有评论