Ethical Hacking Learn to find vulnerabilities before the bad guys do! Gain real world hands on hacking experience in our state of the art hacking lab. Course designed and taught by expert instructors with years of penetration testing experience. 12 student maximum in every class. Certification attempt included in every package. | Computer Forensics Training at InfoSec Institute Gain the in-demand skills of a certified computer examiner, learn to recover trace data left behind by fraud, theft, and cybercrime perpetrators. Discover the source of computer crime and abuse at your organization so that it never happens again. All of our class sizes are guaranteed to be 12 students or less to facilitate one-on-one interaction with one of our expert instructors. |

| Subject: | Re: Optimal wildcard search algorithm |
|---|---|
| Date: | Tue, 28 Nov 2006 11:43:06 +0200 |
Hello Tim, Do I understand correctly, that the wildcard test you describe only gives an exists/doesn't exist answer? How many tests can you afford per second?
One approach to finding all usernames would be a kind of breadth-first search based on the character set and character position. Given a character set of [a-z0-9], we could try the following:
a* b* c* ...
and determine which characters exist in the first position. From there, each second letter would be tried for each successfully identified first letter, and so on.
What you can try is to analyse some sample username lists for ways to equalise their distribution. For example, you wouldn't want to start with a*, better jump directly to aa*, ab*, ..., az* You might try taking samples from http://www.galbithink.org/names/agnames.htm http://blogs.parc.com/playon/archives/2006/06/naming_patterns.html or similar, some username/password combo lists, etc. You can also test for suffixes (*a, *b, ..) hoping for a better distribution.
Let us assume for now that the only wildcard character is the '*' or '%' kind (and not the single-character kind), and that the string we're searching for could be of any length.
If you're allowed single-char wildcards, you could do more interesting searches - tests for certain username lengths being the most important. You can also walk the search space based on the *second* letter of the username _a%, _b% etc, which will (I guess) be more equally distributed than the first letter. I don't know if searching for substrings in the middle hoping they would prune the search tree will be helpful - but you can analyze those sample lists and see if particular patterns come up. If there is a good set of 2 or 3 character strings that have near-zero frequencies in the sample lists, that's the way to go. Mordred ------------------------------------------------------------------------ This List Sponsored by: Cenzic Need to secure your web apps? Cenzic Hailstorm finds vulnerabilities fast. Click the link to buy it, try it or download Hailstorm for FREE. http://www.cenzic.com/products_services/download_hailstorm.php?camp=701600000008bOW ------------------------------------------------------------------------
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [WEB SECURITY] The state of JavaScript Hacking, bugtraq |
|---|---|
| Next by Date: | Outgoing Port Check, errorcode408 |
| Previous by Thread: | Optimal wildcard search algorithm, Tim |
| Next by Thread: | Re: Optimal wildcard search algorithm, Tim |
| Indexes: | [Date] [Thread] [Top] [All Lists] |