Giter Site home page Giter Site logo

smuggler's People

Contributors

davidwebster48 avatar defparam avatar dwisiswant0 avatar engn33r avatar melardev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

smuggler's Issues

Enhance or Release request.

Hi @defparam,
Recently read about your new finding on zomato. Appreciation
I assume the tool you used "DesyncR" is some other one you created.
Also the payload used were somewhat different.
In near future, would you release a new version including of "Smuggler" including the payloads/ features of "DesyncR" or the DesyncR itself ?

smuggler missed a vulnerable host

Hello,
Burp Smuggler used this vector to find a host vulnerable to CL.TE:

Content-Length: 90
Transfer-Encoding: chunked
Transfer-Encoding: identity

I hope you add this to your smuggler.

Regards

Error

the command :
cat list_of_hosts.txt | python3 smuggler.py ( its not works )

its turns to :

└─$ cat list_of_hosts.txt | python3 smuggler.py

                                     _                             
     ___ _ __ ___  _   _  __ _  __ _| | ___ _ __       _ __  _   _ 
    / __| '_ ` _ \| | | |/ _` |/ _` | |/ _ \ '__|     | '_ \| | | |
    \__ \ | | | | | |_| | (_| | (_| | |  __/ |     _  | |_) | |_| |
    |___/_| |_| |_|\__,_|\__, |\__, |_|\___|_|    (_) | .__/ \__, |
                         |___/ |___/                  |_|    |___/ 
                    by universe                 ver 0.2

[!] Input URL.

Enhancement

Great tool. I use different methods every time for a same URL. Could if be possible to add a feature to test all possible methods for a URL like for automation purposes. I propose adding a value "all" to -m in order to test all Request Methods.

Error: Cannot find config file

Hi,

I've tried to use another config with -c option but smuggler returns an error:

$ python3 smuggler.py -c configs/doubles.py -u https://example.com 

  ______                         _              
 / _____)                       | |             
( (____  ____  _   _  ____  ____| | _____  ____ 
 \____ \|    \| | | |/ _  |/ _  | || ___ |/ ___)
 _____) ) | | | |_| ( (_| ( (_| | || ____| |    
(______/|_|_|_|____/ \___ |\___ |\_)_____)_|    
                    (_____(_____|               

     @defparam                         v1.1

[+] URL        : https://example.com
[+] Method     : POST
[+] Endpoint   : /
[+] Configfile : configs/doubles.py
[+] Timeout    : 5.0 seconds
[+] Cookies    : 0 (Appending to the attack)
[+] Error      : Cannot find config file

P.S. Hackish way to get around this is to copy desired config to default.py 😃
P.P.S. Thanks for the tool!

False positive?

Hello,

I'm trying to use the tool but I don't know if I'm getting false positives or I'm just doing everything wrong.

I am receiving the following alert from smuggler:

[xnprespace-08]: Potential CLTE Issue Found - POST @ https://redacted.com/asdsad?code=asdasd - default.py
[CRITICAL]     : CLTE Payload: .... redacted

So I went to the payloads folder, copy pasted the payload in repeater, put the right host and everything and sent it to turbo intruder to test it.

All I get is code 405s.. over and over. Not a single different response code. I'm not sure if I'm doing this correctly or what smuggler detected to alert it. Does it alert code 405s? Am I doing something wrong?

What response code did smuggler got to alert it as possible http smuggling case?

Please anyone help me!

False positive?

Hello defparam! Thank you for your tool.
I think i had a problem,
I used your tool and it reported to me for potential request smuggling, i retested several times and it confirmed on the same method.
I manually retested it, with intruder and without,

A normal request shows 401 unauthorized, a smuggled request shows 0, null.
Is it from the server or i'm doing it wrong? I tried several payloads, several subdomains for the same program, but same response.

Want to catch the requests in burp

I have been exported http and https to burp's intercept
Commands:
export http_proxy="http://127.0.0.1:8080"
export https_proxy="http://127.0.0.1:8080"

And I was trying to analyze the requests I've sent through burp http history, but I didn't get it, should I export another type of protocol or I should make it work.

My environments are qualified.
BTW, really great talk on Nahamcon, I learned a lot from it, thank you.

Cookies in HTTP request

Well, first, I appreciate very much that you share your tool and your effort with the community.

I am trying "Smuggler" but when I want to make a request with cookies, I don't see the option in the --help of the tool, I have created a configfile copying one of the defaults and adding the header "cookie" but it gives me an error, because the cookie I pick up from BurpSuite and it must give an error because of the special characters.

How do I add cookies?

image

image

Thanks!!! <3

How to test HTTP smuggling using the payload from Smuggler with Turbo Intruder

Hi, I just want to confirm, nothing much. First, when Smuggler detected a vulnerability, it will create a file in the /payloads directory contains the payload:

POST /?cb=402245071240945 HTTP/1.1
Transfer-Encoding�: chunked
Host: target.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36
Content-type: application/x-www-form-urlencoded; charset=UTF-8
Content-Length: 6
Cookie:  ...

0

X

Now, many bug bounty programs will require us to confirm the vulnerability, if we can't found a way to make the poisoned victim's request give us a signal, one of the only ways is using Turbo Intruder (of course, make sure that the website doesn't have too much traffic at the time, usually, this only happens in subdomains). So how can I test the payload using my Turbo Intruder? I have pasted the request into Burp Repeater, edited the host, right click, there are 2 options: Smuggle attacker (Cl.TE) and Smuggle attacker (TE.CL), I chose the correct option for my request (TE.CL) but something when wrong with my requests in Turbo Intruder. Did I forget something in my steps? I also want to ask what technique does Smuggler use to detect the vulnerability? Timeout technique, ...? (I think it is using the timeout to detect HTTP request smuggling)

Adding Concurrency

Hi @defparam

Thanks a lot for the Great tool.. At the time being its slow for testing as its grabbing one target at a time.. Can you add some sort of concurrency so that it grabs multiple targets at one time to test...?

Thanks !

[Bug] Encoding Problem: \xA0 will be encoded into \xc2\xa0

Your code encode string into utf-8 bytes.
But when "endspace-a0" is sent, utf-8 encoding encode \xA0 into \xc2\xa0.
So, it will probably result in incorrect diagnosis

therefore, I suggest you that fix the below code into plain text because HTTP protocol sends a plain text.

web.send(str(payload_obj).encode())

Suggestion:

web.send(str(payload_obj))

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.