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

【Python编写漏洞测试工具入门】Python编写漏洞测试工具入门学习内容来自Web白帽子Python编写漏洞测试工具入门第一章Python编写漏洞测试工具入门文章目录Python编写漏洞测试工具入门前言一、具体功能二、HTTP协议1.HTTP请求get方式post请求2.HTTP请响应3.HTTP代理4.HTTP会话编程总结前言本篇文章用于记录毕业设计(Python编写web漏洞扫描器系统的设计与实现),之前的设计题目由于在本科期间并没有过多的接触算法实在是难以实现而不得不放弃QAQ。一、具体功能1.设计一个系统实现we

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://bianchenghao.cn/34434.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注