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