限制错误次数,数据查询接口协议

银河国际点击登录 1

1.概述

image

1.1.用途

向集成顾客端提供查询数据和登入服务。
一旦财富须要授权技能查看和平运动用,请首先阅读“5.登陆验证”小节。

在庭院里面来看了叁个没人用的路由器(ws860s),看起来像个黑科技(science and technology)的玩意儿,就想着进去看看,到底有啥有趣的。看到后头的竹签上有web分界面包车型客车地方,然后登录进去看看,发掘有密码,然后小编想,路由器的密码应该都以能够reset的,然后本身就用笔戳那多少个reset键,奇迹未有生出,原本那几个reset键坏了。

1.2.通信合同

顾客端和服务器通过HTTP公约通讯,顾客端应用HTTP
Get向服务器发送诉求,服务器再次来到json格式的业务数据或操作结果给顾客端。

银河国际点击登录 2

1.3.接口诉求

接口地址是二个HTTP公约的url地址,具体魄式是:

ip替换到实际服务器的ip或域名,借使端口不是暗中认可端口,要求把端口加上。
token是印证字符串,在签到接口中获得,若无登入则省略。
其余剧情参见接口的概念。
当U昂科雷L央求参数值中包蕴U瑞鹰L地址保留字符时,应对参数值举行UXC60L编码。
切实参见“兰德途睿欧FC2396: Uniform Resource Identifiers (UCRUISERI): Generic
Syntax”。
当呼吁参数包罗汉语字符时,应对普通话字符选用UTF-8编码。

image

1.4.回到音信结构

归来的json消息数据结构具有从严的一致性,顾客端能够运用同一的收到和剖判方法处理回来音信。
简短新闻
粗略的回到音信包罗对央浼的管理结果,结构如下:

{
    "code":0,
    "err_desc":""
}

其中:
code 为0象征管理成功,其余值表示处理战败。
err_desc是对错误的叙说,在code为0时err_desc会被略去。
特殊景况,在顾客认证的login1和login2接口中,err_desc具备特别用途用法,具体参见接口描述。除这五个接口之外,err_desc都意味错误描述。
带业务数据的音讯
有些再次回到音信除了包含管理结果音讯,还含有业务数据记录集,结构如下:

 {
        "code":0,
        "data":{
            "count":1,
            "items":[...]
        }
    }

其中:
data 业务数据的根节点:
count 业务数据的条数,恐怕的值为0 ~ n
items
业务数据,是二个数组,数据条数由count属性定义。当count为0时,items属性只怕为null只怕不设有。
本文书档案后续章节中,在汇报items成分的质量时,会简单一些质量的描述,即事实上调用接口重回的习性在本文书档案中也许会并未有描述,这种场馆下请直接忽略被忽视描述的属性值。本文书档案中描述的品质是事实上再次来到内容的二个子集,未有描述到的内容对集开支系统尚未影响。
带分页数据的消息
如若回到数据比较多,服务器会对回到的多少开展分页,顾客端能够依据页码央求钦点范围的数据。带分页信息的回来数据结构如下:

    {
    "code":0,
    "data":{
        "page":1,
        "page_size":"20",
        "pages":"1",
        "total":"2",
        "count":2,
        "items":[...]
                }
}

分页数据音信在data成分下,意义如下:
page 当前页码
page_size 每页数据记录条数
pages 总共的页数
total 总的数量据条数
count 当前回到页的多寡条数
譬喻回到的数量带有分页新闻,则可以在调用接口时接纳page参数来呼吁钦定页码的多少。

银河国际点击登录 3

1.5.参考

[1] RFC 2616, Hypertext Transfer Protocol — HTTP/1.1[S].
[2] RFC 3986, Uniform Resource Identifier (URI): Generic
Syntax[S].
[3] Introducing JSON

image

2.询问分类

分析进程

2.1.查询分类

  • 用途
    查询CMS上的分类音信。
    请求

    parent 上级分类编号。假设疏忽,会重临超级分类列表。
    譬如要查询一流分类,请去掉parent参数。

  • 响应

{
    "code": 0,
    "data": {
        "count": 2,
        "items": [
            {
                "id": 1,
                "name": "公共栏目",
                "comment": "",
                "upper_catalog_id": 0
            },
            {
                "id": 2,
                "name": "私有栏目",
                "comment": "",
                "upper_catalog_id": 0
            }
        ]
    }
}

id 编号
name 名称
comment 备注
“upper_catalog_id 上级分类编号, 0 表示前段时间分类是拔尖分类。

抓包

2.2.查询分类树

  • 用途
    查询全体分类及其属下分类。
    请求

  • 响应

{
    "code": 0,
    "data": {
        "count": 2,
        "items": [
            {
                "id": 1,
                "name": "公共栏目",
                "comment": "",
                "upper_catalog_id": 0,
                "sub_items": [
                                {
                                    "id": 5,
                                    "name": "二级分类1",
                                    "comment": "",
                                    "upper_catalog_id": 1
                                },
                                ...
                    ]
            },
            ...
        ]
    }
}

id 编号
name 名称
comment 备注
“upper_catalog_id 上级分类编号, 0 表示近期分类是顶级分类。
sub_items 下级分类数组,饱含 0 或多个下级分类。

1、张开路由的web页面:192.168.3.1,路由器重临

3.查询媒体能源

银河国际点击登录 4

3.1.查询媒体财富

  • 用途
    查询媒体财富。
    能够查询某些编号的财富的消息,也得以查询有些分类下的兼具财富消息。
    请求

    parent
    分类编号,若是要查询某些分类下的具备财富,请忽略下二个参数。
    media_id
    财富编号,借使给出该参数,则只询问号码为media_id的贰个财富的音信,并忽略parent参数。

  • 响应

{
    "code": 0,
    "data": {
        "page": 1,
        "page_size": "20",
        "pages": 9,
        "total": "18",
        "count": 2,
        "items": [
            {
                "id": 79,
                "catalog_id": 2,
                "title": "vod - 8898",
                "sub_title": "G3视频",
                "abstract": null,
                "text": null,
                "resource_type": "vod",
                "cover": "/mserver/cms/covers/res_cover_79.jpg?1515729601",
                "duration": 98,
                "add_time": "2018-01-08 19:19:26",
                "view_times": 0,
                "open_status": 0
            },
            ...
        ]
    }
}

再次回到0个或八个财富音信。
id 财富编号
catalog_id 所属分类编号
title 标题
sub_title 小标题
abstract 摘要描述
text 描述
resource_type vod或live
cover 封面地址
duration 播放时间长度
add_time 增加岁月
view_times 观察次数
open_status 开放景况

image

4.询问播放地址

银河国际点击登录 5

4.1.询问播放地址

  • 用途
    询问有个别媒体财富的播报地址。
    请求

    media_id 财富编号。
    protocol
    播出左券,点播能源得以是hls,http-flv或http-DVD;直播财富得以是
    rtmp或hls。借使轻易,再次来到全数合同的地方。
    顾客端请依据终端体系选择合适的播出左券:
    android、ios或其余协助H5的浏览器,能够选拔:hls, http-mp3左券
    PC选用http-flv或rtmp协议

  • 响应

{
    "code": 0,
    "data": {
        "count": 1,
        "items": [
            {
                "id": 104,
                "resource_id": 39,
                "web_url": "/mp4/vod/yellowstone/yellowstone.mp4",
                "web_io_protocol": "http-mp4",
                "add_time": "2017-08-25 16:35:16"
            }
        ]
    }
}

重返0个或多少个广播地址,贰个能源恐怕有四个例外协商的播放地址。
resource_id 能源编号
web_url 播出地址
银河国际点击登录,”web_io_protocol 播出左券

image

5.登入验证

会博得csrf和cookie和所须求的值,那个值都要封存下来,前面会用。

概述

  • 1)登陆的渴求和意义
    顾客端应当首荐判别服务器是不是须求必得登陆。借使供给,则应首先调用登陆接口登入,然后再央浼其余接口。
    是否须求强制登入,跟运转需要有关,网址运营者能够透过管住平台安装那个选项。
    只要没有强制须求,客商端能够登录,也得以不登入。
    客户不利登录后,会获得二个token值,在此伏彼起的接口中,应当将该token值带入。举例:

  • 2)登入的流水生产线
    服务器和客商端通过“挑衅->应答”格局(challenge-response)举行身份验证交互,在这几个历程中,顾客端须求调用一次接口向服务器注脚身份。认证进程中无需传递密码,密码用于签字验证。
    身价验证的过如下:
    1)顾客端应用“顾客名”作为参数调用“login1”接口,向服务器发出居民身份注脚诉求
    1.1)服务器确认客商是还是不是是有效的客户:
    1.2)若不是,则不做进一步管理,重返错误音讯
    1.3)若果,服务器发生二个“随机数(挑战字符串)”发送给客商端
    2)顾客端应用“顾客密码”和“随机数(挑衅字符串)”作为输入,按预定的算法生成一个hash值,用该hash值作为
    调用“login2”接口的参数,须要login2接口。
    2.1)服务器用收到的hash值与和睦的图谋结果相比,若两个一样,则通过认证;不然,认证退步
    2.2)若注脚通过,服务器再次回到“token”给用户端,否者再次来到错误音信。

2、输入顾客名密码后:

5.1.论断是还是不是必需登陆

  • 用途
    决断是不是供给必得登陆。
    假定须求必得登陆,则需求先登陆,否者查询数据的接口会回去没有权力的谬误。

请求

  • 响应

{
    "code": 0,
    "err_desc": "no"
}

err_desc 属性描述了对登陆的要求。no 表示不强制要求, yes
代表一定要求登陆。

银河国际点击登录 6

5.2.login1

  • 用途
    交给注脚申请,接口重回挑衅字符串。
    请求

    username 登陆客户名。

  • 响应

{
    "code": 0,
    "data": {
        "count": 1,
        "items": [
            {
                "id": 37,
                "chcode": "9luqgrnj5vvszmjw"
            }
        ]
    }
}

id session识别号,用于login2接口,原样传递给login2就可以。
chcode
挑衅字符串,客商端按预约准绳使用该字符串生成三个hash值,然后调用login2接口。

image

5.3.login2

  • 用途
    动用login1再次回到的chcode总计出叁个hash值,提交给本接口申请到多少个token。该token值用于其余接口的证实。
    请求

    id login1接口回到的id值,原样带入。
    hash 根据约定总括出的hash值。算法:
    hash=md5(md5(password)+chcode)
    叙述:首先计算出密码的hash值,然后在改换的密码hash值尾巴部分拼接上挑衅字符串产生新的字符串,最终计算这一个新字符串的hash值。
    hash算法采纳md5算法,生成的摘要采用16进制编码,编码生成的字符选拔小写字母。
    例如,字符串111111的hash值是 96e79218965eb72c92a549dd5a330112

  • 响应

{
    "code": 0,
    "data": {
        "count": 6,
        "items": [{
            "id": 2,
            "name": "王工",
            "sex": 1,
            "logo": null,
            "token": "c9xpghlmgxn58kdq",
            "group_id": 1
        }]
    }
}

name 用户名
sex 性别,1男 0女
logo 顾客头像,null也许头像url
token
认证令牌,在无法保证session的景色下,在伸手别的接口中应该将token参数带入
group_id 顾客所属的顾客组

银河国际点击登录 7

5.4.logout

  • 用途
    退出登陆,退出应用前请尽量调用该接口。
    请求

    =abcdefg
    token 登陆接口中获得的token

  • 响应

{
    "code": 0,
}

image

银河国际点击登录 8

image

银河国际点击登录 9

image

3、路由器再次来到数据

银河国际点击登录 10

image

密码的变迁方法

从地点抓包的结果来看,Password字段是透过加密的,所以只要我们要Python暴力破解,必要把这些password的成形算法找寻来。

展开web登陆页面,查看源代码,找找算法

银河国际点击登录 11

image

银河国际点击登录 12

image

银河国际点击登录 13

image

银河国际点击登录 14

image

银河国际点击登录 15

image

在linux上修修改改ip地址,相当粗略一条命令就足以消除:

银河国际点击登录 16

image

[password:bbbbbbbb];{“errorCategory”:”user_pass_err”,”csrf_param”:”FcnG919l8J7XhQsOYQEMS3WhsC2liSX”,”count”:2,”csrf_token”:”IQ/LfSZSx7gTp6VflYnZelobNSpoMy2″}

ip地址被限制,必要拭目以俟1分钟的升迁:

[password:aaaaaaaa];{“errorCategory”:”Three_time_err”,”csrf_param”:”VKGTylVILQA9SFsTyYdpkHv8qfJPIIw”,”count”:3,”csrf_token”:”MTQLBcWQN+1DJjAP+A6xC4AUSXciBod”}

登入成功的唤醒:

****[password:xxxxxxxx];{“csrf_param”:”H/DyWxogz7+2y4UfzhqddowkjH1uL04″,”csrf_token”:”MorgBb0+PNpoE8KhwBwq4OoioD2NcCs”,”errorCategory”:”ok”,”level”:2,”IsWizard”:true,”IsFirst”:true}

流程

银河国际点击登录 17

image

全数的数额都筹算好了,下一步,正是早先应用Python写程序了。

核心Python代码:

银河国际点击登录 18

image

银河国际点击登录 19

image

银河国际点击登录 20

image

银河国际点击登录 21

image

银河国际点击登录 22

image

银河国际点击登录 23

image

银河国际点击登录 24

image

银河国际点击登录 25

image

银河国际点击登录 26

image

银河国际点击登录 27

image

银河国际点击登录 28

image

银河国际点击登录 29

image

银河国际点击登录 30

image

银河国际点击登录 31

image

银河国际点击登录 32

image

怎么制止暴力破解?

银河国际点击登录 33

image

银河国际点击登录 34

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website