Re:“Curl Bash piping” wall of shame
by chrismonsanto on Friday October 21, 2016 @09:10PM
(#12766368)
> If you attempt to read the script in your browser first, and everything's great, then go pipe to bash, the server can send alternate content based on your user agent.
If you can't trust the site to give you a safe installer then you can't trust the rest of the sources it gives you either--you would need to audit the entire package. Virtually nobody is going to do that. Singling out the installer as uniquely dangerous is security theater.
Windows and OSX also do this and present pointless non-defeatable "omg but this is from the scary internet, are you SURE you want to run it????"
Re:“Curl Bash piping” wall of shame
by thedudemabry on Saturday October 22, 2016 @04:22AM
(#12767790)
To be fair, those have been very effective in keeping my non-techie family members from accidentally installing malware because they'll at least check with me when presented with a scary system dialog. And it hasn't impacted my own use other than the occasional extra clicks. In a locked-down corporate setting, I can see how that could be maddening, though.
That's for the benefit of people who don't really realize that installing software from the internet is dangerous (i.e. most users). This discussion is about safe methods once you have decided to install something from the internet, which is different.
Re:“Curl Bash piping” wall of shame
by 0xcde4c3db on Friday October 21, 2016 @10:53PM
(#12766849)
> 1) If you attempt to read the script in your browser first, and everything's great, then go pipe to bash, the server can send alternate content based on your user agent.
I'm having trouble finding a proper source, but I'm pretty sure someone came up with a way to do it even if curl spoofs the user agent. I think it worked by looking for the characteristic timing pattern of bash emptying the pipe in small bursts as it executes the individual script lines.
I think this is what you are looking for: https://www.idontplaydarts.com/2016/04/detecting-curl-pipe-b...
Re:“Curl Bash piping” wall of shame
by yeahbutbut on Friday October 21, 2016 @10:58PM
(#12766870)
> If you attempt to read the script in your browser first, and everything's great, then go pipe to bash, the server can send alternate content based on your user agent.
curl | less
Or copy the request "as curl" from the network tab of any modern browser.
1) If you attempt to read the script in your browser first, and everything's great, then go pipe to bash, the server can send alternate content based on your user agent.
2) You'd have a hard time proving the first point, or reviewing to see if a script acted poorly, if you didn't have a local copy, which piping to a shell like this normally prevents you from doing.