zoukankan      html  css  js  c++  java
  • jmeter 接口重放(投票活动)

    目的

    这几天公司弄了个投票的活动,召集大家一起投票。自己比较懒,就想这个投票是不是可以直接抓包进行重放通过jmeter集成到jenkins里面去每天来跑。试了下成功了,这里把对应的方案抛出来。

    第一步,抓包

    抓包我用的burpsuite,具体的使用过程大家可百度。

    • 手机同电脑连接到同一个wifi
    • 设置手机代理ip为电脑ip,代理端口为电脑监听端口
    • 发送请求进行抓包
    • 回放验证抓包是否成功

    抓包的结果:

    使用前端1

    POST /doVote HTTP/1.1
    Host: vote.sztopbrand.com
    Content-Length: 61
    Accept: */*
    Origin: http://vote.sztopbrand.com
    X-Requested-With: XMLHttpRequest
    User-Agent: Mozilla/5.0 (Linux; Android 5.1.1; NX529J Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile MQQBrowser/6.8 TBS/036872 Safari/537.36 MicroMessenger/6.3.27.880 NetType/ctlte Language/zh_CN
    Content-Type: application/x-www-form-urlencoded; charset=UTF-8
    Referer: http://vote.sztopbrand.com/
    Accept-Encoding: gzip, deflate
    Accept-Language: zh-CN,en-US;q=0.8
    Cookie: XSRF-TOKEN=eyJpdiI6IjE3XC9SUXN4QnRYTVhnaENUYnIrMWVnPT0iLCJ2YWx1ZSI6InlPaUw5S3JXQlpDUGlVdUlHbXR0TjFaZXdjTDBaNnlQYjl4UjFwVlNHQlhpclVncVdhSDRrZk1ZVGhBWjcwbmR2Y0xPSGZLKzJsRWp5bjNoaEo2WGNnPT0iLCJtYWMiOiI2NGZlMTBlNTIzMTc1MGFlODIzYTYyNGYyNzYwNDRiNzYyOTg3YzkyOTFkNDc1NjFiZjdhMjdkNmMxYzg2MmFhIn0%3D; laravel_session=eyJpdiI6Img0dG9KMGFDZERPODQxRFNjRFVvV3c9PSIsInZhbHVlIjoiV0VOZFNwMnd0K2R1b3ZjM1FCa0ptTmlhUDNNQmsrcjVFN0E1Uk54Y0dPVk9WSWxXeXl5RGFKKzd2TkxmcEFQa3I2TGV5dWFJZWN1TURBK1EwMGttRnc9PSIsIm1hYyI6IjM4ZjAyZTFkOTc4MzBkZjhjYjU2MzgyZTJlZWFhZDgzYjk4ODQ0YzIxZjFjN2E2YTNiYmFkODQyZWYwNjM4ZjgifQ%3D%3D; Hm_lvt_0d1031f7c74d8a4a33cac86fce2fc8f4=1479118062,1479134782,1479174047,1479192380; Hm_lpvt_0d1031f7c74d8a4a33cac86fce2fc8f4=1479192380
    Connection: close
    
    company_id=71&_token=VuqAHrMtF3DfvF8cQDHGmFasi8JFOwvBtSqPutgM
    

      使用前端2

    POST /doVote HTTP/1.1
    Host: vote.sztopbrand.com
    Content-Length: 61
    Accept: */*
    Origin: http://vote.sztopbrand.com
    X-Requested-With: XMLHttpRequest
    User-Agent: Mozilla/5.0 (Linux; Android 6.0; MX6 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile MQQBrowser/6.8 TBS/036872 Safari/537.36 MicroMessenger/6.3.30.920 NetType/WIFI Language/zh_CN
    Content-Type: application/x-www-form-urlencoded; charset=UTF-8
    Referer: http://vote.sztopbrand.com/
    Accept-Encoding: gzip, deflate
    Accept-Language: zh-CN,en-US;q=0.8
    Cookie: __utma=136377015.1353196735.1479114830.1479114830.1479114830.1; __utmz=136377015.1479114830.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); XSRF-TOKEN=eyJpdiI6IitTc3cwNTNQSDlSR21LRDdYRUNqVGc9PSIsInZhbHVlIjoiVDZCSHpxN2ZUV1pxMFFBOXFNV3J0TWFDaW9kZ1pseDBYUW9yVjFQdUxYZVdEcThyU1BwOFhxaXFOU3ZKR3lJYm5obW04dzBDWGZacjZ4UW1jUVhqOGc9PSIsIm1hYyI6IjgwMjIwMmNiNGE4OGI3YmUwNTc5MzVkNGU2YTQ4ODNkNGU5MjY3ZDAwZTIzZWZkYjBjMmM4MGM1ZDg0NjcwZGMifQ%3D%3D; laravel_session=eyJpdiI6Imh0TE4yelk5WTVBTzg5Sm9xcVBJd3c9PSIsInZhbHVlIjoibDFzV2tGV0dqaWxEZGczb3dIeDJCT014RzYyZFZJTE9cL0hyTThPK2xXUjNtVXNRenp5c3Axa3BMZ0NNRW9hUFU2SytnOXNiaXVHSWtCSmhVMnZZTk5BPT0iLCJtYWMiOiIyMTJiMjQ4MzhlYmU4YjAyMmFhN2I5YWIwZjc2NGZlY2U3YTE4MzA5NTY1MjY5NzA1ZGYyMWEwNjEwOWRmOTVlIn0%3D; Hm_lvt_0d1031f7c74d8a4a33cac86fce2fc8f4=1479117072,1479191845,1479192768; Hm_lpvt_0d1031f7c74d8a4a33cac86fce2fc8f4=1479192768
    Connection: close
    
    company_id=71&_token=h7PMxnaxonS0FjvU2UBfSJSvdjKHUz2aBKN5POOl
    

    请求对比,时效验证

    对比:

    对比的目的是判断两个请求在哪些内容存在区别,方便模拟手机

    时效验证:

    验证是否有时效校验,如果有的话就不能进行重放了

    cooki看了好几个,没法找出规律,那么无法直接模拟手机了。不过时效验证通过了,那么可以直接抓包进行重发攻击了。

    创建jmeter测试任务

    整体截图

    单个请求的配置,包括请求体,请求头,cookie

    cookie的手动配置

    需要注意的是,抓包获取的cookie不能像通过firefox或者Chrome通过调试的方式直接导出需要手动来配置

    jmeter的cookie配置

    抓到的包

    POST /doVote HTTP/1.1
    Host: vote.sztopbrand.com
    Content-Length: 61
    Accept: */*
    Origin: http://vote.sztopbrand.com
    X-Requested-With: XMLHttpRequest
    User-Agent: Mozilla/5.0 (Linux; Android 5.1.1; NX529J Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile MQQBrowser/6.8 TBS/036872 Safari/537.36 MicroMessenger/6.3.27.880 NetType/ctlte Language/zh_CN
    Content-Type: application/x-www-form-urlencoded; charset=UTF-8
    Referer: http://vote.sztopbrand.com/
    Accept-Encoding: gzip, deflate
    Accept-Language: zh-CN,en-US;q=0.8
    Cookie: XSRF-TOKEN=eyJpdiI6IjE3XC9SUXN4QnRYTVhnaENUYnIrMWVnPT0iLCJ2YWx1ZSI6InlPaUw5S3JXQlpDUGlVdUlHbXR0TjFaZXdjTDBaNnlQYjl4UjFwVlNHQlhpclVncVdhSDRrZk1ZVGhBWjcwbmR2Y0xPSGZLKzJsRWp5bjNoaEo2WGNnPT0iLCJtYWMiOiI2NGZlMTBlNTIzMTc1MGFlODIzYTYyNGYyNzYwNDRiNzYyOTg3YzkyOTFkNDc1NjFiZjdhMjdkNmMxYzg2MmFhIn0%3D; laravel_session=eyJpdiI6Img0dG9KMGFDZERPODQxRFNjRFVvV3c9PSIsInZhbHVlIjoiV0VOZFNwMnd0K2R1b3ZjM1FCa0ptTmlhUDNNQmsrcjVFN0E1Uk54Y0dPVk9WSWxXeXl5RGFKKzd2TkxmcEFQa3I2TGV5dWFJZWN1TURBK1EwMGttRnc9PSIsIm1hYyI6IjM4ZjAyZTFkOTc4MzBkZjhjYjU2MzgyZTJlZWFhZDgzYjk4ODQ0YzIxZjFjN2E2YTNiYmFkODQyZWYwNjM4ZjgifQ%3D%3D; Hm_lvt_0d1031f7c74d8a4a33cac86fce2fc8f4=1479118062,1479134782,1479174047,1479192380; Hm_lpvt_0d1031f7c74d8a4a33cac86fce2fc8f4=1479192380
    Connection: close
    
    company_id=71&_token=VuqAHrMtF3DfvF8cQDHGmFasi8JFOwvBtSqPutgM 
    • 配置说明:
    • 名称:对应字段值的标示
    • 值:标示对应值(查看会以;进行分隔)
    • 域:host地址
    • 路劲:对应host请求的路劲
    • 安全:按需填写

    最后测试结果:

    验证通过,之后就是接入jenkins配置成计划任务了!

     

  • 相关阅读:
    文件上传.py
    文件下载.py
    Visual SVN IIS反向代理设置
    开发者工具
    Linux
    装饰器
    面向对象
    django异常--数据库同步
    浅谈 Mysql
    python网络编程系列
  • 原文地址:https://www.cnblogs.com/YatHo/p/6066217.html
Copyright © 2011-2022 走看看