Feedify is compromised with code mirroring Magecart
threader.app
threader.app
Yes, that sucks and isn't fun, but this isn't going away and these guys are good at what they do.
Next step is versioning of JS libraries, which enables you to utilize SRI, and then look at implementing CSP. You can lock this down, but it'll likely require a lot of buy in from people across the enterprise. The diffing job requires none.
CSP and SRI info:
https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP
https://developer.mozilla.org/en-US/docs/Web/Security/Subres...
If you're letting third parties load arbitrary code on your site, that's harder to deal with. Then a compromise of them is likely to also be a compromise of you.
Seriously, do the devs not realize that "cloud" means "somebody else's computer" and using "cloud assets" on your payment pages means somebody else is deciding what Javascript to run on your payment pages?
Many, many websites have 3rd party JS that updates at will.
Only doing the check when you do a deployment wouldn't catch either one.
Terrifying indeed.
[0] https://www.riskiq.com/blog/labs/magecart-ticketmaster-breac...
https://cdn.riskiq.com/wp-content/uploads/2018/07/rsz_image1...
edit:
One of the clever things they do is have a different response for the GET and POST on what looks to be a JS file:
> hxxps://webfotce.me/js/form.js
Like with the new one( hxxps://info-stat.ws/js/slider.js ) if you do a GET you just get some innocuous looking JS:
jQuery.noConflict();
But the malicious JS posts to that URL as well.The one caveat to the above statement is that some places give you a file to host, but it's more or less a script that just document.writes another script tag which loads an external JS file. If that's the case, then you'd still be vulnerable.