{"id":3947,"date":"2019-01-02T10:52:17","date_gmt":"2019-01-02T12:52:17","guid":{"rendered":"https:\/\/www.dbarj.com.br\/orachksum-oracle-database-integrity-checker\/"},"modified":"2019-01-02T10:52:17","modified_gmt":"2019-01-02T12:52:17","slug":"orachksum-oracle-database-integrity-checker","status":"publish","type":"page","link":"https:\/\/www.dbarj.com.br\/pt-br\/orachksum-oracle-database-integrity-checker\/","title":{"rendered":"ORACHKSUM &#8211; Oracle Database Integrity Checker"},"content":{"rendered":"\r\n<p>In my last <a href=\"https:\/\/www.dbarj.com.br\/en\/2018\/12\/injecting-a-simple-dbakit-or-rootkit-in-oracle-pl-sql-objects\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"article (opens in a new tab)\">article<\/a>, I&#8217;ve demonstrated how it is easy for hackers to attack and disguise\u00a0<strong>rootkits<\/strong> or any other kind of malwares within oracle internal object, like PL\/SQL codes.<\/p>\r\n<p>Unfortunately, Oracle doesn&#8217;t provide any tool to show the undesired changes that eventually happened in your database code. In this article, I will show how we can detect those threats using the <strong>orachksum<\/strong>\u00a0utility.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">What is it?<\/h2>\r\n\r\n\r\n\r\n<p>Oracle Database Integrity Checker (ORACHKSUM) is a free open-sourced <a href=\"https:\/\/github.com\/dbarj\/orachksum\" target=\"_blank\" rel=\"noopener\">github<\/a> tool that verifies signature for files and internal objects of Oracle Databases, comparing <span style=\"text-decoration: underline;\"><strong>what you have<\/strong><\/span> with <span style=\"text-decoration: underline;\"><strong>what oracle provides<\/strong><\/span> in the original database installation. The tool is a basically a collection of SQLs and CSVs files, that will create and compare the sha1sum of your objects with the original ones and output the differences in a HTML report.<\/p>\r\n\r\n\r\n\r\n<p>The tool installs nothing on the database, and all it needs is read privileges on your dictionary tables. It takes around one hour to execute.<\/p>\r\n\r\n\r\n\r\n<p>Output ZIP file can be large (several MBs), so you may want to execute ORACHKSUM from a system directory with at least 1 GB of free space.<\/p>\r\n\r\n\r\n\r\n<p>ORACHKSUM uses <a href=\"https:\/\/github.com\/dbarj\/moat369\">moat369<\/a> API to generate html and graphs output. If you are familiar to edb360 and sqld360, you will notice they all have the same Look&#8217;n Feel.<\/p>\r\n<p id=\"NbsaEdV\"><img loading=\"lazy\" decoding=\"async\" width=\"1792\" height=\"1850\" class=\"alignnone size-full wp-image-3916 \" src=\"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2018\/12\/img_5c23c188850ff.png\" alt=\"\" srcset=\"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2018\/12\/img_5c23c188850ff.png 1792w, https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2018\/12\/img_5c23c188850ff-291x300.png 291w, https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2018\/12\/img_5c23c188850ff-768x793.png 768w, https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2018\/12\/img_5c23c188850ff-992x1024.png 992w\" sizes=\"auto, (max-width: 1792px) 100vw, 1792px\" \/><\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Supported Versions<\/h2>\r\n<p>ORACHKSUM was tested in Linux and Solaris. It may also work in Windows if executed with\u00a0cygwin. As it creates nothing inside the database, the comparison is done using some underlying <em><strong>OS utilities like grep, awk and sed<\/strong><\/em>.<\/p>\r\n<p><span style=\"color: #800000;\"><b><span style=\"color: #800000;\">The dictionary was extracted\u00a0<\/span><\/b><\/span><span style=\"color: #800000;\"><b>for the following Oracle Databases:<\/b><\/span><\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>11.2.0.4<\/li>\r\n<li>12.1.0.2<\/li>\r\n<li>12.2.0.1<\/li>\r\n<li>Any 18c<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p>The <strong>ORACHKSUM<\/strong> signature dictionary files include changes performed by any <span style=\"color: #800000;\"><strong>PSU, BP, RU, RUR or OJVM PSU<\/strong><\/span> for the above releases. If you have one-off patches applied on your database you may face some false-positives results during scans.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Currently dictionary objects scans<\/h2>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Objects in CDB_SOURCE like:\r\n<ul>\r\n<li>FUNCTION<\/li>\r\n<li>JAVA SOURCE<\/li>\r\n<li>LIBRARY<\/li>\r\n<li>PACKAGE<\/li>\r\n<li>PACKAGE BODY<\/li>\r\n<li>PROCEDURE<\/li>\r\n<li>TRIGGER<\/li>\r\n<li>TYPE<\/li>\r\n<li>TYPE BODY<\/li>\r\n<\/ul>\r\n<\/li>\r\n<li>Views<\/li>\r\n<li>Default Privileges for:\r\n<ul>\r\n<li>Tables<\/li>\r\n<li>Columns<\/li>\r\n<li>System<\/li>\r\n<li>Role<\/li>\r\n<\/ul>\r\n<\/li>\r\n<li>Synonyms<\/li>\r\n<li>Tablespace Quotas<\/li>\r\n<li>Java Policies<\/li>\r\n<li>VPD Policies<\/li>\r\n<li>Scheduler Objects:\r\n<ul>\r\n<li>Legacy Jobs<\/li>\r\n<li>Scheduler Jobs<\/li>\r\n<li>Scheduler Programs<\/li>\r\n<\/ul>\r\n<\/li>\r\n<li>Audits:\r\n<ul>\r\n<li>Object Audit Options<\/li>\r\n<li>Statement Audit Options<\/li>\r\n<li>Privileges Audit Options<\/li>\r\n<li>Audit Policies<\/li>\r\n<li>Audit Policy Columns<\/li>\r\n<li>Audit Unified Policies<\/li>\r\n<\/ul>\r\n<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Types of Scans<\/h2>\r\n<p>The ORACHKSUM utility executes 2 types of compares to verify for integrity changes:<\/p>\r\n<h4>1. Sum Compares<\/h4>\r\n<p>For all objects that exists in DBA_SOURCE (Packages, Triggers, etc), all VIEWS and also some database files (like $ORACLE_HOME\/rdbms\/sql\/), the tool will compare the sha1sum of the object in the target database with the one created originally by oracle. The tool will also show <strong>matches<\/strong> and <strong>no matches<\/strong> in pie graph of the <em>section 1a<\/em>:<\/p>\r\n<p id=\"aXtHgoY\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-3919 size-medium aligncenter\" src=\"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2018\/12\/img_5c23c30c5e60f-300x239.png\" alt=\"\" width=\"300\" height=\"239\" srcset=\"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2018\/12\/img_5c23c30c5e60f-300x239.png 300w, https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2018\/12\/img_5c23c30c5e60f-768x613.png 768w, https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2018\/12\/img_5c23c30c5e60f.png 940w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\r\n<h4>2. Line Compares<\/h4>\r\n<p>For all the other type of objects (like privileges, jobs, audits, etc), the tool will fully compare what you have with the oracle initially install using a <em><strong>diff\u00a0<\/strong><\/em>of your table with the oracle original table. Thus, for each type of object, there will be 2 reports: one showing the extra lines you have and the other showing what is missing in your database:<\/p>\r\n<p id=\"kMNGRyg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3921 size-medium\" src=\"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2018\/12\/img_5c23c3ee44037-300x80.png\" alt=\"\" width=\"300\" height=\"80\" srcset=\"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2018\/12\/img_5c23c3ee44037-300x80.png 300w, https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2018\/12\/img_5c23c3ee44037.png 392w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\r\n<h2>Execution Steps<\/h2>\r\n\r\n\r\n\r\n<p>1. Download and unzip latest <a href=\"https:\/\/github.com\/dbarj\/orachksum\" target=\"_blank\" rel=\"noopener\">orachksum<\/a> version and, navigate to the root of <strong>orachksum-master<\/strong> directory:<\/p>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">$ wget -O orachksum.zip https:\/\/github.com\/dbarj\/orachksum\/archive\/master.zip\r\n$ unzip orachksum.zip\r\n$ cd orachksum-master\/<\/pre>\r\n<p>2. Download and unzip latest <a href=\"https:\/\/github.com\/dbarj\/moat369\" target=\"_blank\" rel=\"noopener\">moat369<\/a> API inside orachksum_master directory. Rename extract folder to moat369:<\/p>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">$ wget -O moat369.zip https:\/\/github.com\/dbarj\/moat369\/archive\/master.zip\r\n$ unzip moat369.zip\r\n$ mv moat369-master\/ moat369\/<\/pre>\r\n<p>3. Connect as SYS, DBA, or any User with Data Dictionary access:<\/p>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">$ sqlplus \/ as sysdba<\/pre>\r\n\r\n\r\n\r\n\r\n\r\n<p>4. Execute orachksum.sql:<\/p>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">SQL&gt; @orachksum.sql<\/pre>\r\n\r\n\r\n\r\n\r\n\r\n<h2>Results<\/h2>\r\n<ol class=\"wp-block-list\">\r\n<li>Unzip output <em><strong>ORACHKSUM_dbname_hostname_YYYYMMDD_HH24MI.zip<\/strong><\/em> into a directory on your PC.<\/li>\r\n<li>Review main html file <em><strong>00001_orachksum_dbname_index.html<\/strong><\/em>.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Notes<\/h2>\r\n\r\n\r\n\r\n<p>1. As orachksum can run for a long time, in some systems it&#8217;s recommend to execute it unattended:<\/p>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">$ nohup sqlplus \/ as sysdba @orachksum.sql &amp;<\/pre>\r\n\r\n\r\n\r\n\r\n\r\n<p>2. If you need to execute ORACHKSUM against all databases in your host, use\u00a0<strong>orachksum.sh<\/strong>:<\/p>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">$ sh orachksum.sh<\/pre>\r\n\r\n\r\n\r\n\r\n\r\n<p>3. If you need to execute only a portion of ORACHKSUM (i.e. a column, section or range), add a parameter. Notice first parameter can be set to one section (i.e. 1b), one column (i.e. 1), a range of sections (i.e. 1c-2a) or range of columns (i.e. 1-2):<\/p>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">SQL&gt; @orachksum.sql 3b<\/pre>\r\n\r\n\r\n\r\n\r\n\r\n<p><em>Note: valid column range for first parameter is 1 to 3.<\/em><\/p>\r\n<h2>Conclusion<\/h2>\r\n<p>Now we have a way to detect and sane undesirable changes within Oracle database internal objects. As this is a github and opened-to-community code, <strong>fell free to suggest or implement new features or corrections<\/strong>.<\/p>\r\n<b>Have you enjoyed? Please leave a comment or give a \ud83d\udc4d!<\/b>\r\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style2 like-3947 jlk' href='javascript:void(0)' data-task='like' data-post_id='3947' data-nonce='de4404f630' rel='nofollow'><img class='wti-pixel' src='https:\/\/www.dbarj.com.br\/wp-content\/plugins\/wti-like-post\/images\/pixel.gif' title='Like' \/><span class='lc-3947 lc'>0<\/span><\/a><\/div><\/div> <div class='status-3947 status align-left'><\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>In my last article, I&#8217;ve demonstrated how it is easy for hackers to attack and disguise\u00a0rootkits or any other kind of malwares within oracle internal object, like PL\/SQL codes. Unfortunately, Oracle doesn&#8217;t provide any tool to show the undesired changes that eventually happened in your database code. In this article, I will show how we &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/www.dbarj.com.br\/pt-br\/orachksum-oracle-database-integrity-checker\/\">Continue lendo<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-3947","page","type-page","status-publish","hentry","nodate","item-wrap"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ORACHKSUM - Oracle Database Integrity Checker - DBA - Rodrigo Jorge - Oracle Tips and Guides<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbarj.com.br\/pt-br\/orachksum-oracle-database-integrity-checker\/\" \/>\n<meta name=\"twitter:label1\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/orachksum-oracle-database-integrity-checker\\\/\",\"url\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/orachksum-oracle-database-integrity-checker\\\/\",\"name\":\"ORACHKSUM - Oracle Database Integrity Checker - DBA - Rodrigo Jorge - Oracle Tips and Guides\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/orachksum-oracle-database-integrity-checker\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/orachksum-oracle-database-integrity-checker\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2018\\\/12\\\/img_5c23c188850ff.png\",\"datePublished\":\"2019-01-02T12:52:17+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/orachksum-oracle-database-integrity-checker\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/orachksum-oracle-database-integrity-checker\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/orachksum-oracle-database-integrity-checker\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2018\\\/12\\\/img_5c23c188850ff.png\",\"contentUrl\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2018\\\/12\\\/img_5c23c188850ff.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/orachksum-oracle-database-integrity-checker\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ORACHKSUM - Oracle Database Integrity Checker\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/#website\",\"url\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/\",\"name\":\"DBA - Rodrigo Jorge - Oracle Tips and Guides\",\"description\":\"Blog about Databases, Security and High Availability\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\",\"name\":\"DBA RJ\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/RodrigoJorgePOUG19.png\",\"url\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/RodrigoJorgePOUG19.png\",\"contentUrl\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/RodrigoJorgePOUG19.png\",\"width\":712,\"height\":712,\"caption\":\"DBA RJ\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/RodrigoJorgePOUG19.png\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ORACHKSUM - Oracle Database Integrity Checker - DBA - Rodrigo Jorge - Oracle Tips and Guides","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbarj.com.br\/pt-br\/orachksum-oracle-database-integrity-checker\/","twitter_misc":{"Est. tempo de leitura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.dbarj.com.br\/pt-br\/orachksum-oracle-database-integrity-checker\/","url":"https:\/\/www.dbarj.com.br\/pt-br\/orachksum-oracle-database-integrity-checker\/","name":"ORACHKSUM - Oracle Database Integrity Checker - DBA - Rodrigo Jorge - Oracle Tips and Guides","isPartOf":{"@id":"https:\/\/www.dbarj.com.br\/pt-br\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbarj.com.br\/pt-br\/orachksum-oracle-database-integrity-checker\/#primaryimage"},"image":{"@id":"https:\/\/www.dbarj.com.br\/pt-br\/orachksum-oracle-database-integrity-checker\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2018\/12\/img_5c23c188850ff.png","datePublished":"2019-01-02T12:52:17+00:00","breadcrumb":{"@id":"https:\/\/www.dbarj.com.br\/pt-br\/orachksum-oracle-database-integrity-checker\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbarj.com.br\/pt-br\/orachksum-oracle-database-integrity-checker\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.dbarj.com.br\/pt-br\/orachksum-oracle-database-integrity-checker\/#primaryimage","url":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2018\/12\/img_5c23c188850ff.png","contentUrl":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2018\/12\/img_5c23c188850ff.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbarj.com.br\/pt-br\/orachksum-oracle-database-integrity-checker\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.dbarj.com.br\/pt-br\/"},{"@type":"ListItem","position":2,"name":"ORACHKSUM - Oracle Database Integrity Checker"}]},{"@type":"WebSite","@id":"https:\/\/www.dbarj.com.br\/pt-br\/#website","url":"https:\/\/www.dbarj.com.br\/pt-br\/","name":"DBA - Rodrigo Jorge - Oracle Tips and Guides","description":"Blog about Databases, Security and High Availability","publisher":{"@id":"https:\/\/www.dbarj.com.br\/pt-br\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbarj.com.br\/pt-br\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":["Person","Organization"],"@id":"https:\/\/www.dbarj.com.br\/pt-br\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9","name":"DBA RJ","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2019\/09\/RodrigoJorgePOUG19.png","url":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2019\/09\/RodrigoJorgePOUG19.png","contentUrl":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2019\/09\/RodrigoJorgePOUG19.png","width":712,"height":712,"caption":"DBA RJ"},"logo":{"@id":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2019\/09\/RodrigoJorgePOUG19.png"}}]}},"_links":{"self":[{"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/pages\/3947","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/comments?post=3947"}],"version-history":[{"count":0,"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/pages\/3947\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/media?parent=3947"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}