SolarWinds Orion开发指南( 二 )


1.登录验证
通过抓取数据包发现 , SolarWinds Orion基于ASP.NET平台使用了ViewState存储数据 。
但经过实际测试 , 我们的测试程序可以不带有ViewState , 不影响功能 。
登录验证的数据包流程如下:
1.访问:https://:8787/Orion/Login.aspx?autologin=no
2.返回响应码为302
3.自动跳转至https://:8787/Orion/View.aspx
4.返回响应码为302
5.自动跳转至https://:8787/Orion/SummaryView.aspx
6.返回响应码为200 , 获得最终结果
在程序实现上 , 我们可以对返回的最终结果进行判断 , 如果Cookie中带有__AntiXsrfToken项 , 那么代表用户验证成功 。
示例代码:
SolarWinds Orion开发指南
文章图片

文章图片
2.查询操作
Header中需要额外添加属性X-XSRF-TOKEN
属性X-XSRF-TOKEN的值在初次登录时访问https://:8787/Orion/Login.aspx?autologin=no返回的302结果中获得 。
在程序实现上 , 可以通过添加参数allow_redirects=Faslse来禁用跳转 , 在返回的Cookie中取出X-XSRF-TOKEN 。
查询接口地址:https://:8787/api2/swis/query
SolarWinds Orion开发指南
文章图片

文章图片
数据格式同SolarWinds Orion API的query命令保持一致 , 所以我们可以直接对照SolarWinds Orion AP实现相同的功能 。
代码支持用户口令验证和数据库查询的功能
为了便于使用 , 省去输入查询语句的过程 , 支持以下功能:
0x04 小结
本文分别介绍了使用SolarWinds Orion API和模拟网页操作实现数据查询的方法 , 开源测试代码 , 便于同其他漏洞利用相结合 。
来源:ZAKER新闻