Ако сте се занимавали с използване на ескплойти (exploits), не може да не сте попадали на сайта http://1337day.com. В него са събрани над 16700 експлойта от 1996-та година насам. Тъй като сайтът имаше (и все още има) доста проблеми със закона, редовно им спират домейните, които си купуват. Дълго време сайтът беше с адрес inj3ct0r.com, после се отваряше само по IP (77.120.101.55), а известно време сайтът съвсем го нямаше. Точно поради тези причини реших да събера всички експлойти от сайта и да ги споделя тук под формата на текстови файлове. Друга причина е, че търсенето в MySQL таблицата, която също съм качил тук, е много по-удобно и лесно.
Съдържанието, което можете да свалите от двата линка долу, е създадено изцяло с образователна цел. Използвайте го на свой собствен риск. Както се сещате, не отговарям за последствията или за начина, по който използвате съдържанието. Експлойтите са актуални към 20-ти август 2011.
Have fun, Script Kiddies!
За създаването на бота, който събра всички експлойти, съм използвал език за програмиране C#. Използвал съм и мой клас HttpManager, който има проста фунцкионалност, която можете да разберете и без да имате кода му. Използвал съм и разширяващи методи на класа String, които също можете да си напишете сами. Ако се чудите за какво са трите константи в началото на класа: заради code highlighter-а. Ето и кода на класа Exploit, който върши основната част от работата:
internal class Exploit { private const string openPreTag = "<pre>"; private const string closePreTag = "</pre>"; private const string openATag = "<a"; public int EID { get; set; } public string Link { get { return string.Format("http://www.1337day.com/exploits/{0}", this.EID); } } public string Title { get; set; } public string Content { get; set; } public string Date { get; set; } public Exploit() { this.EID = 0; this.Title = string.Empty; this.Content = string.Empty; this.Date = string.Empty; } public Exploit(int id) : this() { this.EID = id; } public Exploit(int eID, string title, string content, string date) { this.EID = eID; this.Title = title; this.Content = content; this.Date = date; } public static Exploit ParseExploit(int id) { Exploit exploit = new Exploit(id); HttpManager http = new HttpManager(Encoding.UTF8, UserAgents.GoogleBot21); http.RequestGET(exploit.Link); if (http.Result.Contains("Error 404 - Not Found | Inj3ct0r - exploit database : vulnerability : 0day : shellcode ")) { return null; } exploit.Title = http.Result.GetStringBetween("", " ").Replace("| Inj3ct0r - exploit database : vulnerability : 0day : shellcode", string.Empty).HTMLDecodeSpecialChars().Trim(); exploit.Content = http.Result.GetStringBetween(openPreTag.HTMLDecodeSpecialChars(), closePreTag.HTMLDecodeSpecialChars()).Replace(openATag.HTMLDecodeSpecialChars() + " href='http://www.1337day.com/'>1337day.com", "1337day.com").HTMLDecodeSpecialChars().Trim(); exploit.Date = http.Result.GetStringBetween("# " + openATag.HTMLDecodeSpecialChars() + " href='http://www.1337day.com/'>1337day.com [", "]" + closePreTag.HTMLDecodeSpecialChars()).Trim(); return exploit; } }