Ако сте се занимавали с използване на ескплойти (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;
}
}