Extracting extra data from autocomplete

Joined
Jul 4, 2017
Messages
4
Likes
6
Degree
0
I saw something similar to this on twitter and I was kind of inspired.

How To Extract Users Data Using Auto Complete

a784304b6d5046f4fac1a2a4628830c9.gif

As you can see this is a simple 2 field form and a submit button, but when submitted we get everything the user has shared... Including credit card details (but I will not be sharing this for obvious reasons).

We get:
  • Name
  • Email
  • Phone
  • Postcode/Zip code
  • City
  • Country
In fact you can get any data they have saved to their browser when they click auto complete.

This is one of those "oh my god" moments you have when you're brain just overflows with ideas right? For the less excited among you this can be used for lots of stuff, like grabbing extra data on email sign ups right down to other stuff which is less than legal, and the best part is this is so stupidly simple to do that it's retarded.

How?

From the front end you see two simple inputs, but if we look at the HTML there is a little more to it.

Code:
<form action="" method="post">
      <p>
        <label for="name">Name</label><br>
        <input id="name" name="name" type="text" placeholder="Your Name">
      </p>
      <p>
        <label for="email">Email</label><br>
        <input id="email" name="email" type="email" placeholder="Your Email">
      </p>
      <p>
        <input type="submit" value="Submit">
      </p>
      <p style="display: none;">
        <input id="phone" name="phone" type="text" placeholder="Your Phone">
      </p>
      <p style="display: none;">
        <input id="organization" name="organization" type="text" placeholder="Your Organization">
      </p>
      <p style="display: none;">
        <input id="address" name="address" type="text" placeholder="Your Address">
      </p>
      <p style="display: none;">
        <input id="postal" name="postal" type="text" placeholder="Your Postal Code">
      </p>
      <p style="display: none;">
        <input id="city" name="city" type="text" placeholder="Your City">
      </p>
      <p style="display: none;">
        <select name="country"><option value=""></option><option value="FI">Finland</option><option value="AF">Afghanistan</option><option value="AX">Åland Islands</option><option value="AL">Albania</option><option value="DZ">Algeria</option><option value="AS">American Samoa</option><option value="AD">Andorra</option><option value="AO">Angola</option><option value="AI">Anguilla</option><option value="AQ">Antarctica</option><option value="AG">Antigua &amp; Barbuda</option><option value="AR">Argentina</option><option value="AM">Armenia</option><option value="AW">Aruba</option><option value="AC">Ascension Island</option><option value="AU">Australia</option><option value="AT">Austria</option><option value="AZ">Azerbaijan</option><option value="BS">Bahamas</option><option value="BH">Bahrain</option><option value="BD">Bangladesh</option><option value="BB">Barbados</option><option value="BY">Belarus</option><option value="BE">Belgium</option><option value="BZ">Belize</option><option value="BJ">Benin</option><option value="BM">Bermuda</option><option value="BT">Bhutan</option><option value="BO">Bolivia</option><option value="BA">Bosnia &amp; Herzegovina</option><option value="BW">Botswana</option><option value="BV">Bouvet Island</option><option value="BR">Brazil</option><option value="IO">British Indian Ocean Territory</option><option value="VG">British Virgin Islands</option><option value="BN">Brunei</option><option value="BG">Bulgaria</option><option value="BF">Burkina Faso</option><option value="BI">Burundi</option><option value="KH">Cambodia</option><option value="CM">Cameroon</option><option value="CA">Canada</option><option value="CV">Cape Verde</option><option value="BQ">Caribbean Netherlands</option><option value="KY">Cayman Islands</option><option value="CF">Central African Republic</option><option value="TD">Chad</option><option value="CL">Chile</option><option value="CN">China</option><option value="CX">Christmas Island</option><option value="CC">Cocos [Keeling] Islands</option><option value="CO">Colombia</option><option value="KM">Comoros</option><option value="CD">Congo [DRC]</option><option value="CG">Congo [Republic]</option><option value="CK">Cook Islands</option><option value="CR">Costa Rica</option><option value="CI">Côte d’Ivoire</option><option value="HR">Croatia</option><option value="CW">Curaçao</option><option value="CY">Cyprus</option><option value="CZ">Czech Republic</option><option value="DK">Denmark</option><option value="DJ">Djibouti</option><option value="DM">Dominica</option><option value="DO">Dominican Republic</option><option value="EC">Ecuador</option><option value="EG">Egypt</option><option value="SV">El Salvador</option><option value="GQ">Equatorial Guinea</option><option value="ER">Eritrea</option><option value="EE">Estonia</option><option value="ET">Ethiopia</option><option value="FK">Falkland Islands [Islas Malvinas]</option><option value="FO">Faroe Islands</option><option value="FJ">Fiji</option><option value="FI">Finland</option><option value="FR">France</option><option value="GF">French Guiana</option><option value="PF">French Polynesia</option><option value="TF">French Southern Territories</option><option value="GA">Gabon</option><option value="GM">Gambia</option><option value="GE">Georgia</option><option value="DE">Germany</option><option value="GH">Ghana</option><option value="GI">Gibraltar</option><option value="GR">Greece</option><option value="GL">Greenland</option><option value="GD">Grenada</option><option value="GP">Guadeloupe</option><option value="GU">Guam</option><option value="GT">Guatemala</option><option value="GG">Guernsey</option><option value="GN">Guinea</option><option value="GW">Guinea-Bissau</option><option value="GY">Guyana</option><option value="HT">Haiti</option><option value="HM">Heard &amp; McDonald Islands</option><option value="HN">Honduras</option><option value="HK">Hong Kong</option><option value="HU">Hungary</option><option value="IS">Iceland</option><option value="IN">India</option><option value="ID">Indonesia</option><option value="IR">Iran</option><option value="IQ">Iraq</option><option value="IE">Ireland</option><option value="IM">Isle of Man</option><option value="IL">Israel</option><option value="IT">Italy</option><option value="JM">Jamaica</option><option value="JP">Japan</option><option value="JE">Jersey</option><option value="JO">Jordan</option><option value="KZ">Kazakhstan</option><option value="KE">Kenya</option><option value="KI">Kiribati</option><option value="XK">Kosovo</option><option value="KW">Kuwait</option><option value="KG">Kyrgyzstan</option><option value="LA">Laos</option><option value="LV">Latvia</option><option value="LB">Lebanon</option><option value="LS">Lesotho</option><option value="LR">Liberia</option><option value="LY">Libya</option><option value="LI">Liechtenstein</option><option value="LT">Lithuania</option><option value="LU">Luxembourg</option><option value="MO">Macau</option><option value="MK">Macedonia [FYROM]</option><option value="MG">Madagascar</option><option value="MW">Malawi</option><option value="MY">Malaysia</option><option value="MV">Maldives</option><option value="ML">Mali</option><option value="MT">Malta</option><option value="MH">Marshall Islands</option><option value="MQ">Martinique</option><option value="MR">Mauritania</option><option value="MU">Mauritius</option><option value="YT">Mayotte</option><option value="MX">Mexico</option><option value="FM">Micronesia</option><option value="MD">Moldova</option><option value="MC">Monaco</option><option value="MN">Mongolia</option><option value="ME">Montenegro</option><option value="MS">Montserrat</option><option value="MA">Morocco</option><option value="MZ">Mozambique</option><option value="MM">Myanmar [Burma]</option><option value="NA">Namibia</option><option value="NR">Nauru</option><option value="NP">Nepal</option><option value="NL">Netherlands</option><option value="NC">New Caledonia</option><option value="NZ">New Zealand</option><option value="NI">Nicaragua</option><option value="NE">Niger</option><option value="NG">Nigeria</option><option value="NU">Niue</option><option value="NF">Norfolk Island</option><option value="MP">Northern Mariana Islands</option><option value="NO">Norway</option><option value="OM">Oman</option><option value="PK">Pakistan</option><option value="PW">Palau</option><option value="PS">Palestine</option><option value="PA">Panama</option><option value="PG">Papua New Guinea</option><option value="PY">Paraguay</option><option value="PE">Peru</option><option value="PH">Philippines</option><option value="PN">Pitcairn Islands</option><option value="PL">Poland</option><option value="PT">Portugal</option><option value="PR">Puerto Rico</option><option value="QA">Qatar</option><option value="RE">Réunion</option><option value="RO">Romania</option><option value="RU">Russia</option><option value="RW">Rwanda</option><option value="WS">Samoa</option><option value="SM">San Marino</option><option value="ST">São Tomé &amp; Príncipe</option><option value="SA">Saudi Arabia</option><option value="SN">Senegal</option><option value="RS">Serbia</option><option value="SC">Seychelles</option><option value="SL">Sierra Leone</option><option value="SG">Singapore</option><option value="SX">Sint Maarten</option><option value="SK">Slovakia</option><option value="SI">Slovenia</option><option value="SB">Solomon Islands</option><option value="SO">Somalia</option><option value="ZA">South Africa</option><option value="GS">South Georgia &amp; South Sandwich Islands</option><option value="KR">South Korea</option><option value="SS">South Sudan</option><option value="ES">Spain</option><option value="LK">Sri Lanka</option><option value="BL">St. Barthélemy</option><option value="SH">St. Helena</option><option value="KN">St. Kitts &amp; Nevis</option><option value="LC">St. Lucia</option><option value="MF">St. Martin</option><option value="PM">St. Pierre &amp; Miquelon</option><option value="VC">St. Vincent &amp; Grenadines</option><option value="SR">Suriname</option><option value="SJ">Svalbard &amp; Jan Mayen</option><option value="SZ">Swaziland</option><option value="SE">Sweden</option><option value="CH">Switzerland</option><option value="TW">Taiwan</option><option value="TJ">Tajikistan</option><option value="TZ">Tanzania</option><option value="TH">Thailand</option><option value="TL">Timor-Leste</option><option value="TG">Togo</option><option value="TK">Tokelau</option><option value="TO">Tonga</option><option value="TT">Trinidad &amp; Tobago</option><option value="TA">Tristan da Cunha</option><option value="TN">Tunisia</option><option value="TR">Turkey</option><option value="TM">Turkmenistan</option><option value="TC">Turks &amp; Caicos Islands</option><option value="TV">Tuvalu</option><option value="UM">U.S. Outlying Islands</option><option value="VI">U.S. Virgin Islands</option><option value="UG">Uganda</option><option value="UA">Ukraine</option><option value="AE">United Arab Emirates</option><option value="GB">United Kingdom</option><option value="US">United States</option><option value="UY">Uruguay</option><option value="UZ">Uzbekistan</option><option value="VU">Vanuatu</option><option value="VA">Vatican City</option><option value="VE">Venezuela</option><option value="VN">Vietnam</option><option value="WF">Wallis &amp; Futuna</option><option value="EH">Western Sahara</option><option value="YE">Yemen</option><option value="ZM">Zambia</option><option value="ZW">Zimbabwe</option></select>
      </p>
    </form>

As you can see it's a basic form with labels and inputs wrapped in P tags for styling/spacing.

The "secret sauce" is the inline styling on the fields you don't see. For those who don't know HTML it's this bit inside the P tags.

Code:
style="display: none;"

This tells the browser not to render the input, but autocomplete ignores it for some reason?

Hidden fields are completely normal, they are used for spam protection from bots mostly... but I cannot for the life of me think of a valid reason that autocomplete would be allowed to work in these?

The trick is super simple to do, anyone with even basic understanding of HTML should be able to go forward and steal data like this. It's not some ground breaking concept or hack... It's a single inline CSS property.

But with this little bit of knowledge you can do quite a bit of damage... I plan on making the most of this before the loophole is patched up. In my eyes it's only a matter of time because like I said, why the hell is this it a good idea to allow this?
 
Last edited by a moderator:
That's a good catch. Operations security is such a huge thing online and the biggest companies on the planet make it so easy to screw yourself over.

I use auto-complete on a handful of sites that I'll now have to check to see if they're being dirty or not. I doubt they are but you never know, especially if they have copy/paste developers, they may not even realize it.

I wonder if this would be classified as stealing or a hack since it's people offering up information, albeit 'unwillingly' (despite them clicking to confirm auto-fill). I'm not sure that it's even that useful for bad guys, and it's definitely not for good guys. You get a bit more data for your list, but if you use it then you're going to burn your brand in their minds. They'll realize "Hey, I never offered that up." Which would be a bad move, turning your fans into people who spread distrust about your business.

The only two other applications I could see people using this on would be to gather and sell data, submit CPA forms, or to gather credit card numbers to use or sell, the last two of which are fraud and are not condoned here on BuSo.

This is great info on a tactic that we need to defend ourselves from, but as far as using it to make money, there's a million better things to be doing, especially if you have an ounce of integrity or a brand that makes cash without tricks.
 
That's a good catch. Operations security is such a huge thing online and the biggest companies on the planet make it so easy to screw yourself over.

I use auto-complete on a handful of sites that I'll now have to check to see if they're being dirty or not. I doubt they are but you never know, especially if they have copy/paste developers, they may not even realize it.

I wonder if this would be classified as stealing or a hack since it's people offering up information, albeit 'unwillingly' (despite them clicking to confirm auto-fill). I'm not sure that it's even that useful for bad guys, and it's definitely not for good guys. You get a bit more data for your list, but if you use it then you're going to burn your brand in their minds. They'll realize "Hey, I never offered that up." Which would be a bad move, turning your fans into people who spread distrust about your business.

The only two other applications I could see people using this on would be to gather and sell data, submit CPA forms, or to gather credit card numbers to use or sell, the last two of which are fraud and are not condoned here on BuSo.

This is great info on a tactic that we need to defend ourselves from, but as far as using it to make money, there's a million better things to be doing, especially if you have an ounce of integrity or a brand that makes cash without tricks.

Yeah, to be fair I can't see this as entirely legal... I'm sure it breaks some laws, possibly data protection... but god damn this is powerful stuff.

I've used it to grab names on email submits... it has kind of worked and no one has questioned it.

I agree, probably doesn't have too many good uses in IM/Marketing but it's good to know.
 
Wow, can't believe the browsers are this dumb. Is this tested on FF/Chrome/IE?

I agree, probably doesn't have too many good uses in IM/Marketing but it's good to know.

Actually, if you do email marketing this extra info would be a goldmine for segmenting your list.

Was curious, so you can test your browsers here:

https://codepen.io/anon/pen/qjKezy

Thankfully my password plugin ignores the hidden fields.
 
Back