Paano makahanap + ihinto ang pag-atake SQL iniksyon
Filed under:. NET, Classic ASP, Hosting, IIS 6.0, Programming 101, SQL Server
May isang pulutong ng mga bagay-bagay lumitaw diyan tungkol sa mga SQL iniksyon-atake, ngunit may hindi marami na ang tutulong sa iyo na malaman kung paano patigilin ang mga pag-atake mula sa nangyari.
Una, let's makipag-usap tungkol sa kung ano ang isang SQL iniksyon Attack ay tunay. Ang ilang mga tao na sa tingin mo ay isang virus ng masama, na "sa loob ng iyong site." Hindi ito ang kaso. Ang mga ito ay bot-atake ng ibang virus nahawaang computer. Sila lamang gumamit ng isang malupit na puwersa paraan ng pag-scan sa mga URL na kumuha ng POST / GET inputs at pagtatangka na magpadala ng kanilang sariling mga data sa kanila.
Kaya, kung paano ko masusubaybayan mo ang mga down at itigil ang mga ito? Para sa mga web site powered by Microsoft IIS's, narito ang aming mga mungkahi:
- Hanapin sa inyong log IIS
Subukang maghanap para sa salitang "magpahayag ng" o "execute." Kung ikaw ay na-hit sa pamamagitan ng isang atake, ang mga ito ay higit pa sa malamang na magpapakita sa iyong log IIS - kahit para sa anumang pag-atake na pagtatangkang paggamit ng "GET" posts. Kung mo mahanap ang anumang mga pagkakataon ng "magpahayag ng" o "execute" ang mga ito ay ang mga pahina sa magsimula sa. - Gumamit ng sentralisadong database ng koneksyon sa paghawak ng mga
Simple, gumawa ng isang sentralisadong file (halimbawa connection.asp kung ikaw ay gumagamit ng ASP ) Na humahawak sa lahat ng iyong mga DB access. Sa ganitong paraan, mas madali upang matiyak na ikaw ay SQL encoding iyong mga pahina. Madali mong mai-tanong sa paghahanap para sa "magpahayag ng" at "execute" at itigil ang mga atake ng mga patay sa kanilang mga track. - Ipatupad ang isang site malawak na solusyon
Kung ikaw ay nagpapatakbo ng iyong sariling server, namin ang mataas na pinapayo ISAPI_Rewrite mula sa HeliconTech (http://www.helicontech.com/isapi_rewrite). Ito ay isang ISAPI filter na nagbibigay-daan sa iyo upang gawin ng iba't-ibang mga bagay-bagay, kasama na ang i-scan ang URL ng data. Ito ay hihinto sa 99% ng pag-atake nang hindi binabago ANUMANG code sa iyong site! \ - Huwag gamitin ang "sa" bilang iyong database ng user, lumikha ng isang user para sa database gumagawa ka mula sa at pagkatapos ay tanggalin ang mga pribilehiyo na basahin ang master dbo. Ito ang humahadlang sa magsasalakay mula sa "sniffing" ang iyong database na istraktura, gayunpaman, ang mga pag-atake ay nagbago kaya sanitized na naka-imbak na pamamaraan na nakabatay sa pag-atake mangyari kahit na sa ganitong mga uri ng seguridad sa lugar. Tingnan ang http://www.ngssoftware.com/papers/more_advanced_sql_injection.pdf para sa karagdagang impormasyon tungkol sa mga ito at iba pang mga ideya sa mga pumipigil sa pag-atake SQL iniksyon.
Kung kayo man ay nasuri scratching inyong ulo nagtataka kung saan ang tumagas sa iyong programa ay (o kinuha sa loob ng isang proyekto mula sa ibang tao) at pagkatapos ay ang pinakamahusay na paraan upang matukoy kung saan ang pahina na atake ay nangyari sa pamamagitan ng paglagay ng tsek ang IIS log.
Mayroong maraming mga script na magagamit sa malinis na up, ngunit ang mga pinakamahusay na tip ay sa backup na oras-oras, at upang sundin ang pinakamahusay na kasanayan (ang ilan sa kung saan naka-highlight na ako dito). Good luck


































































