Python编写漏洞测试工具入门

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

文章目录

  • Python编写漏洞测试工具入门
  • 前言
  • 一、具体功能
  • 二、HTTP协议
  • 1.HTTP请求
    • get方式
    • post请求
  • 2.HTTP请响应
  • 3.HTTP代理
  • 4.HTTP会话编程
  • 总结

前言

本篇文章用于记录毕业设计(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 requestsurl = "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 requestsurl = "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相应的操作进行了学习,希望毕设能顺利完成吧

【Python编写漏洞测试工具入门】相关推荐

  1. Python中的测试工具

    当我们在写程序的时候,我们需要通过测试来验证程序是否出错或者存在问题,但是,编写大量的测试来确保程序的每个细节都没问题会显得很繁琐.在Python中,我们可以借助一些标准模块来帮助我们自动完成测试过程 ...

  2. python代码测试工具模块_详解Python中的测试工具

    当我们在写程序的时候,我们需要通过测试来验证程序是否出错或者存在问题,但是,编写大量的测试来确保程序的每个细节都没问题会显得很繁琐.在Python中,我们可以借助一些标准模块来帮助我们自动完成测试过程 ...

  3. python工具是什么-使用Python编写命令行工具有什么好的库?

    使用Python编写命令行工具的库很多,我最推荐的还是Google Fire Hello World 要介绍Fire是什么,看一个简单的例子就明白了 # calc.py import fire cla ...

  4. python编写游戏测试机器人客户端(一)

    系列文章目录 python编写游戏测试机器人客户端(一) python编写游戏测试机器人客户端(二) python编写游戏测试机器人客户端(三) python编写游戏测试机器人客户端(四) pytho ...

  5. python gui测试工具_在Suse10下尝试dogtail(一个python的GUI测试工具..

    你的位置: 技术文档 -> Python -> 文档详情 在Suse10下尝试dogtail(一个python的GUI测试工具.. 零 简介: DogTail是一个用python写的,自动 ...

  6. 一款以Python编码的自动化大规模漏洞测试工具

    可能大家之前已经使用过AutpSploit这款自动化漏洞利用工具了,但是这款工具现在又进行了大幅度改进. AutoSploit= Shodan/Censys/Zoomeye + Metasploit ...

  7. 谷歌开源 Python 代码漏洞查找工具 Atheris

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 谷歌安全专家又开源了另外一款自动化模糊测试工具,希望开发人员能够使用该工具在漏洞遭利用前,找到并修复漏洞.这款工具名为"At ...

  8. python 编写实用小工具-toy: python平时积累的笔记以及编写的小工具

    所有人都告诉你怎么活,只有自己没有搞清楚该如何活.相信自己,我们每个人都是主角?? toy Python ?? 献给我亲爱的女朋友--如 ? 介绍 学习 python.matlab 时积累的笔记以及编 ...

  9. go python php 压力测试_pyLot 基于python的压力测试工具

    因为组内的产品是一个供上海甚至全球所有designer使用的网站,所以并发性很高,于是一直存在访问速度不佳的诟病.为了提高访问速度,就需要对该网站的性能进行测试.于是在网上查了并发性测试和自动化测试的 ...

  10. python硬件测试开发_用python实现高性能测试工具(一)

    做过几年开发或者测试开发的人员,时常会觉得很迷茫,新功能的开发或者老功能的维护,基本是在堆代码了.本文主要讲述在系统设计和架构方面的性能优化供大家学习, 有些内容涉及到具体产品,做了些改动或者单独写了 ...

最新文章

  1. FastDFS 安装步骤(ubuntu)
  2. C++二维码相关库编译
  3. 题解报告:hdu 5695 Gym Class(拓扑排序)
  4. HDU - 1890 Robotic Sort(Splay-区间翻转+删除根节点)
  5. 文件无刷新上传(swfUpload与uploadify)
  6. 开源的类似于Apache ab的压力测试命令行工具SuperBenchmarker
  7. Java LinkedList对象的clone()方法和示例
  8. java并发:interrupt进程终止
  9. 怎么在百度里通过关键词搜索到自己的网站
  10. SQLSERVER误删除了Windows登录用户验证方式使用Windows身份验证的解决方法
  11. 关于Synchronized的用法
  12. 西门子plm_西门子PLM组件之形状搜索(支持工业软件国产自主可控)
  13. python websocket服务器端_python实现websocket服务器
  14. 京东发力团购欲摘桃 团购市场继续动荡
  15. Oracle树形结构拖拽之插队重新排序
  16. eclipse工程报faceted project problem
  17. 如何在pdf文件中编辑页眉页脚
  18. PCB----阻抗计算
  19. 爱奇艺“帧绮映画”上线移动端,您的“私人影院”可以随身携带了!
  20. C#与数据库访问技术总结(三)之 Connection对象的常用方法

热门文章

  1. 认知升级:从首席架构师到CTO
  2. 用产品思维设计API(二)——数据解耦,才是前后分离的本质
  3. atomic头文件编译_c++11 多线程(3)atomic 总结
  4. 算法(字符串)——重复的子字符串
  5. 多数投票算法(Boyer-Moore Algorithm)
  6. java编写投票功能需求分析
  7. linux新建/删除子接口
  8. iphone上下左右手势判断代码
  9. 最近很火的养猫小程序—365赚钱宝小程序源码
  10. 远程桌面不能复制粘贴