作家
登录

Oracle Advanced Support系统SQL注入漏洞挖掘经验分享

作者: 来源: 2017-09-08 08:56:34 阅读 我要评论

scenario_id = :scenario_id\nAND    package_run_id = :pkg_run_id\nAND engagement_id = 
  • … 
  • 一年多前我在客户的一个外部情况中履行渗入渗出测试,任何外部情况渗入渗出测试的重要步调之一就是发掘出可拜访的WEB办事。nmap和EveWitness的结合会令这步调变得更快,因为我们可以进行端口扫描 并且把这些结不雅以屏幕截图的情势导入到 EyeWitness中。当梳理完 EyeWitness供给的屏幕截图页面后,我发清楚明了一个Oracle 高等支撑办事。

    1. {"id":1,"name":"sample","sql":"SELECT TIME,CPU_UTILIZATION,MEMORY_UTILIZATION FROM TIME_REPORT where TIME > :time","dataSourceJNDI":"jdbc/portal","privileges":[],"paramList":[{"id":36,"name":"time","type":"date-time","value":null}]} 

    我们发清楚明了以下的属性:name, sql, dataSourceJNDI, privileges, and paramList,个中 sql属性是我最感兴趣的因为它包含了具有字符串值的SQL语句。我们把name的值放进先前测验测验的GET请求中。

    1. HTTP Request: 
    2. GET /rest/data/sql/sample HTTP/1.1 
    3. Host: host 
    4. Connection: close 
    5. Accept: application/json;charset=UTF-8 
    6. Accept-Encoding: gzip, deflate, sdch 
    7. Accept-Language: en-US,en;q=0.8 
    8. Content-Type: application/json;charset=UTF-8 
    9. Content-Length: 0 
    10. HTTP Response: 
    11. HTTP/1.1 400 Bad Request  
    12. Content-Type: application/json 
    13. Content-Length: 44 
    14. Connection: close 
    15. Bad Request.Param value not defined for time 

    Hey!我们获得一些返回!然则我们少了一个参数,让我们加进来。

    这切实其实给了我们不少的信息,让我们细心分析一下,我们获得了一组json对象,看一下数组中的第一个对象:

    固然没有大年夜办事器获得任何返回,然则也没有返回任何缺点!难道是例子中的SQL语句被履行了,只是没有回显?我们可以持续测验测验其他的大年夜先前请求中获得的names,然则我们看一下原始的javascript。我们发明有一个叫做createNamedSQL的函数,它是一个POST的请求。我们知道来至于getNamedSqlList 的请求的返回值包含了sql语句的值。也许是这个post请求会许可我们在办事器上 履行sql萌芽。我们试一下!

    1. HTTP Request: 
    2. GET /rest/data/sql/sample?time=1 HTTP/1.1 
    3. Host: host 
    4. Connection: close 
    5. Accept: application/json;charset=UTF-8 
    6. Accept-Encoding: gzip, deflate, sdch 
    7. Accept-Language: en-US,en;q=0.8 
    8. Content-Type: application/json;charset=UTF-8 
    9. Content-Length: 0 
    10. HTTP Response: 
    11. HTTP/1.1 200 OK  
    12. Content-Type: application/json; charset=UTF-8 
    13. Content-Length: 2 
    14. Connection: close 

    SQL Execution

    这就是createNamedSQL中在包体琅绫擎包含一个空json对象的POST请求:


    1.   推荐阅读

        解读大数据行业在2017年的新发展

      跟着科技的进步,大年夜数据大年夜科学前沿逐渐深刻到各行业。2017年中国的大年夜数据行业有什么新动态?大年夜数据行颐魅整体市场范围若何?大年夜数据行业前景若何?若何助力企业成长?今日的比格数据,我们来一路解读>>>详细阅读


      本文标题:Oracle Advanced Support系统SQL注入漏洞挖掘经验分享

      地址:http://www.17bianji.com/lsqh/37236.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)