#OWT2017JP Training Course using OWASP BWA by 松浦知史, 東京工業大学
08"41#8"Λ༻ֶ͍ͨੜ͓Αͼ৬һ͚τϨʔχϯά౦ژۀେֶɹֶज़ࠃࡍใηϯλʔɹদӜ࢙ ([email protected])
View Slide
2দӜ ࢙ (MATSUURA Satoshi)౦ژۀେֶ ֶज़ࠃࡍใηϯλʔ ।ڭत౦େCERT ౷ׅऀhttp://cert.titech.ac.jp■ ηΩϡϦςΟڭҭ• αΠόʔηΩϡϦςΟಛผઐֶमϓϩάϥϜ (౦େɾम࢜ର)• IT-Keys / SecCap (ෳͷ࢈ֶ৫ɾम࢜ର)■ ݚڀ׆ಈ• geographical overlay network, େنηϯαωοτϫʔΫ, ࢄPub/Sub, DTN, ηΩϡϦςΟϩάੳͱػցֶश
ίʔεΛ௨ͯ͠Կֶ͕Δ͔• OWASP BWA(Broken Web Application)ͱԿ͔• ԋश࣮ࢪऀ͓Αͼडߨऀʹର͢ΔڭҭޮՌ• OWASP BWAΛར༻ͨ͠ԋशڥͷߏஙํ๏• ۩ମతͳ߈ܸγφϦΦͷ࡞खॱ• ۩ମతͳԋश࣮ࢪखॱ(ͷग़͠ํ)– डߨऀ͕ཧղ͍͢͠ͷཻͱॱ൪Λߟྀ• ۩ମతͳԋश࣮ࢪྫͱTips– OWASP TOP10Ճֶ͑ͨੜ/৬һ͚ͷԋश࣮ࢪྫ3
OWASP BWA(Broken Web Application)4ɾηΩϡϦςΟֶश༻ͷ੬ऑͳΞϓϦΛؚΉLinux͕ϕʔεͱͳͬͨVMΠϝʔδ) ઈରʹάϩʔόϧͳڥʹଓͤͣɺִ͞ΕͨNATڥͰར༻ͯ͠Լ͍͞OWASP BWAτοϓϖʔδଟछଟ༷ͳΞϓϦ͕༻ҙ͞Ε͍ͯΔτϨʔχϯάΞϓϦ੬ऑੑΛ๊͑ͨΞϓϦͳͲ
BWAͷରऀ• WEBΞϓϦέʔγϣϯͷηΩϡϦςΟΛֶͼ͍ͨํ• ϦεΫධՁٕज़(ϖωτϨɺ੬ऑੑஅͳͲ)ΛखಈͰࢼ͍ͨ͠ํ• ࣗಈԽπʔϧΛςετ͍ͨ͠ํ• ιʔείʔυ͕ηΩϡΞ͔Ͳ͏͔ੳ͍ͨ͠ํ• WEBʹର͢Δ߈ܸΛࢹ͍ͨ͠ํ• WAFͷٕज़Λςετ͍ͨ͠ํ5ใηΩϡϦςΟͷॳֶऀ͔ΒΞϓϦέʔγϣϯ։ൃऀɺηΩϡϦςΟػثͷӡ༻୲ऀ·Ͱɺతʹ߹Θͤͯ෯͍ٕज़ऀ͕ར༻Ͱ͖Δɻ໊લͷ௨ΓWEB͕த৺ɻ!
BWAͷத• Training Applications– ੬ऑੑຖʹίʔε͕༻ҙ͞Ε͓ͯΓɺΛղ͖ͳ͕ΒֶΔWEBΞϓϦ• Realistic, Intentionally Vulnerable Applications– ଟछଟ༷ͳ੬ऑੑ͕ҙਤతʹ࡞Γࠐ·ΕͨWEBΞϓϦ• Old Versions of Real Applications– WordPressͳͲ࣮ࡏ͢ΔΞϓϦ(੬ऑੑͷ͋Δݹ͍όʔδϣϯ)• Applications for Testing Tools• Demonstration Pages / Small Applications• OWASP Demonstration Applications6࠷ॳ͔Β੬ऑੑΛ๊༷͑ͨʑͳΞϓϦؚ͕·Ε͓ͯΓɺԋश࣮ࢪऀԋशڥͷߏஙγφϦΦͷ࡞ʹूதग़དྷΔɻ·ͨVMͰ͞Ε͍ͯΔͷͰڥߏங༰қɻ!֤ʑ10छྨ΄Ͳ!༻ҙ͞Ε͍ͯΔ!
ࠓճԋशΛߦͬͨର(౦େੜ/౦େ৬һ)• ౦େੜ (ओʹमֶ࢜ੜ)– αΠόʔηΩϡϦςΟಛผઐֶमϓϩάϥϜΛडߨ– CSͷجૅཧدΓͷߨ͕ٛଟ͍(ྑ͍ࣄ)– جૅྗΛԠ༻͢Δ࣮ફతͳ(ߨٛ)Λఏڙ͍ͨ͠!• ౦େCERT (ओʹࣄһ+ٕज़৬һ)– ৫CSIRTۀΛ୲– ʑηΩϡϦςΟͷʹ৮ΕΔ͕ৄࡉΛΔػձ͕ແ͍– ΈΛΓɺۀͰͷஅྗΛ্͍ͤͨ͞!7
࠲ֶͱԋश8ԋशڥ͕Γ͍ͯͳ͍ঢ়گͰ͋ͬͨͷͰɺͰ͖ΔݶΓߏஙίετΛ͑ͳ͕ΒԋशΛߦ͏ͨΊʹOWASP BWAΛ࠾༻ͨ͠ɻ!ࣝͷར༻/Ԡ༻! ࣝͷशಘ!
9۩ମతͳγφϦΦͷ࡞खॱΛհ͠·͢
ԋशڥ/γφϦΦͷ࡞ϙϦγʔ• डߨऀ͕ແཧͳ͘४උ͠ࢀՃͰ͖Δԋशڥ• ݱ࣮ͷڥʹஔ͖͑ͯ૾Մೳͳԋशڥ• ग़དྷΔ͚ͩडߨऀ͕ࣗྗͰղ͚Δͷཻ/• ղ͖ਐΊΔͱࣗવͱ߈ܸγφϦΦ͕ཧղͰ͖Δߏ10
੬ऑͳ8αΠτϒϥβ ᠘αΠτϩάΠϯ͓ΑͼαΠτͷܧଓతར༻᠘αΠτͷΞΫηε੬ऑͳαΠτͷϦϯΫPOST(߈ܸ༻HTML/javascriptΛؚΉ)߈ܸίʔυΛؚΜͩΞΫηε(߈ܸऀʹcookieΛૹ৴͢Δίʔυ)cookieͷใΛૹ৴cookie͔ΒηογϣϯIDΛऔಘϢʔβʹͳΓ͢·ͯ͠ΞΫηε੬ऑͳ෦ෳࡶͳXSSΛडߨऀʹͲ͏ཧղͯ͠͏͔11
XSSશମͷγφϦΦΛղ• ΫοΩʔใΛ֬ೝ͠ɺมߋ͢Δ (1,6)– ϒϥβΛར༻͠ΫοΩʔͷૢ࡞ΛΔ• ੬ऑੑͷ֬ೝͱނҙͷใ࿙Ӯ (1,4,5)– ݕࡧϑΥʔϜΛར༻͠ΫοΩʔใΛૹ৴• ߈ܸίʔυͷ࡞/ઃஔ (2,3,4)– ΫοΩʔใΛૹ৴͢ΔίʔυΛؚΜͩURLͷੜ12Λখ͘͞ղ͢Δ͜ͱͰͷқ͕Լ͢ΔɻώϯτΛՃ͑Δ͜ͱͰଟ͘ͷडߨऀ͕ࣗྗͰղ͢Δࣄ͕Մೳɻ্ه̏ͭΛΈ߹ΘͤΔͱશମͷγφϦΦʹɻ!
ϢʔβʹΑΔΫοΩʔͷฤू13ɾϒϥβͷΞυϨεόʔͰJavaScriptΛ࣮ߦՄೳɾΫοΩʔͷදࣔ- javascript:alert(document.cookie);ɾΫοΩʔͷՃɾฤू- javascript:void(document.cookie=”id=abcd1234”);αΠτΛ๚Εͨ࣌Ͱcookieແ͠ΞυϨεόʔΑΓcookieΛՃΞυϨεόʔΑΓcookieΛฤू
ނҙͷใ࿙Ӯ(ϢʔβʹΑΔࣗര)14੬ऑͳ8αΠτϒϥβ ᠘αΠτϩάΠϯ͓ΑͼαΠτͷܧଓతར༻߈ܸίʔυΛؚΜͩΞΫηε(߈ܸऀʹcookieΛૹ৴͢Δίʔυ)cookieͷใΛૹ৴ϩάΠϯதʹ߈ܸίʔυΛ੬ऑͳݕࡧϑΥʔϜʹೖྗ͢Δͱɺ߈ܸίʔυ͕࣮ߦ͞Εɺcookieͷใ͕࿙Ӯͯ͠͠·͏੬ऑͳ෦(ݕࡧϑΥʔϜ)
߈ܸίʔυΛؚΜͩURLͷ࡞/ઃஔ15੬ऑͳ8αΠτϒϥβ ᠘αΠτ᠘αΠτͷΞΫηε੬ऑͳαΠτͷϦϯΫPOST(߈ܸ༻HTML/javascriptΛؚΉ)߈ܸίʔυΛؚΜͩΞΫηε(߈ܸऀʹcookieΛૹ৴͢Δίʔυ)ϝʔϧຊจதͷURL͔Β᠘αΠτ༠ಋ͞Εͯ͠·͍ɺ੬ऑͳαΠτʹରͯ͠߈ܸίʔυΛؚΜͩΞΫηεΛͯ͠͠·͏
BWAΛར༻͠ɺγφϦΦΛ࣮͢Δ16੬ऑͳ8αΠτϒϥβ ใ࿙ӮઌͷαΠτChromeXSS੬ऑੑ͕͋ΔϑΥʔϜͰͷεΫϦϓτ࣮ߦ͕ݫ੍͘͠ݶ͞Ε͍ͯΔɻFirefoxܯࠂͷΈɻWin/Macͱडߨऀڥ͕·ͪ·ͪͰ͋ΔࣄΛߟ͑FirefoxΛ࠾༻ɻडߨऀPC্ͷFirefoxBWA্ͷࣸਅڞ༗αΠτ”WackoPicko”ApacheͳͲͷhttpd᠘αΠτBWA্ͷܝࣔ൘”Yazd”BWA͕ىಈग़དྷΕɺޙFirefoxΛडߨऀʹΠϯετʔϧ͖ͯͯ͠͏ࣄͱผ్ApacheͳͲhttpdΛ४උ͠ɺΞΫηεϩά͕ݟΒΕΔ༷ʹ͓͚ͯͩ͘͠Ͱ४උྃɻ!
ʔɺ·͔ͬ͢͡ʔ࣮ࡍͷ४උաఔͬͺΓԋशΛΓ͍ͨʂʂҒ͍ਓͱʹ͔͘Δ͔͠ͳ͍୲ऀ2िؒఔͷ४උظؒ• ձٞͰ४උίετͷߴ͔͞Βԋशஅ೦͢Δํʹ͔͏͕ɺͷҰ͕• 2िؒఔͰۀͷ߹ؒʹԋशڥΛ࡞ΓࠐΉࣄʹ(தʑʹେมɻBWAʹײँ)• ࣮ࡍʹBWAͷΞϓϦΛར༻͠ࢼߦࡨޡ͠ͳ͕ΒγφϦΦΛ࡞ɻ͜͜·Ͱͷઆ໌ͷ༷ʹશͯτοϓμϯͱ͍͏༁ʹதʑ͍͔ͳ͍ɻ• ԋश୲ऀXSSͳͲԋशʹ݁͢Δ͚ࣝͩͰແ͘ɺγφϦΦͷ࡞ೳྗɺHTTPͷཧղɺԾڥͷߏஙೳྗͳͲ෯͍ࣝೳྗ͕ʹ͘ɻ17
18࣮ࡍͷΛݟͯɺγφϦΦΛḷͬͯΈ·͠ΐ͏
੬ऑੑ͕͋ΔݕࡧϑΥʔϜ @ BWA WackoPicko191. ௨ৗͷݕࡧ!2. HTMLλάΛؚΜͩݕࡧ!3. javascriptΛؚΜͩݕࡧ!ɾݕࡧจࣈྻɹ1.ɿhouseɹ2.ɿhouseɹ3.ɿalert('hello');
ނҙͷใ࿙Ӯ(ϢʔβʹΑΔࣗര)੬ऑͳ8αΠτϒϥβ ᠘αΠτϩάΠϯ͓ΑͼαΠτͷܧଓతར༻߈ܸίʔυΛؚΜͩΞΫηε(߈ܸऀʹcookieΛૹ৴͢Δίʔυ)cookieͷใΛૹ৴ϩάΠϯதʹ߈ܸίʔυΛ੬ऑͳݕࡧϑΥʔϜʹೖྗ͢Δͱɺ߈ܸίʔυ͕࣮ߦ͞Εɺcookieͷใ͕࿙Ӯͯ͠͠·͏੬ऑͳ෦(ݕࡧϑΥʔϜ)20
ԋश՝̍21̍ɽݕࡧϑΥʔϜΛར༻ͯ͠cookieͷதΛදࣔͤ͞ͳ͍̎͞ɽݕࡧϑΥʔϜΛར༻ͯ͠cookieͷதΛ֎෦αʔό(192.168.7.100)ʹɹɹૹ৴͠ɺใ͕࿙Ӯ͍ͯ͠ΔࣄΛΞΫηεϩάΑΓ֬ೝ͠ͳ͍͞άάΔKBWBTDSJQUΛར༻͢ΔJNHTSDz63-zΛར༻ͯ͠ɺ֎෦αʔόʹϝοηʔδΛૹΔ'JSFGPYͷ։ൃπʔϧΛ׆༻͢Δ πʔϧˠ8։ൃˠ։ൃπʔϧΛදࣔώϯτ
FirefoxͷWEB։ൃπʔϧ22ཁૉͷௐࠪ (HTMLͷதΛ͏)! ௨৴ͷௐࠪ (HTTPͷதΛ͏)!- WEB։ൃʹ͔ܽͤͳ͍πʔϧɻChrome / Safariʹඪ४Ͱଐ- πʔϧ→WEB։ൃ→։ൃπʔϧͷදࣔͱḷΔ (Mac: Cmd + Opt + i)
߈ܸίʔυΛؚΜͩURLͷ࡞/ઃஔ23੬ऑͳ8αΠτϒϥβ ᠘αΠτ᠘αΠτͷΞΫηε੬ऑͳαΠτͷϦϯΫPOST(߈ܸ༻HTML/javascriptΛؚΉ)߈ܸίʔυΛؚΜͩΞΫηε(߈ܸऀʹcookieΛૹ৴͢Δίʔυ)ϝʔϧຊจதͷURL͔Β᠘αΠτ༠ಋ͞Εͯ͠·͍ɺ੬ऑͳαΠτʹରͯ͠߈ܸίʔυΛؚΜͩΞΫηεΛͯ͠͠·͏
ԋश՝̎24̍ɽcookieͷதΛදࣔͯ͠͠·͏ϖʔδʹ༠ಋ͢ΔϦϯΫ(URL)Λ࡞͠ͳ͍̎͞ɽݕࡧϑΥʔϜΛར༻ͯ͠Լਤͷ༷ͳuser/passͷೖྗΛٻΊΔϑΥʔϜΛ࡞͠ͳ͍̏͞ɽϘλϯ͕ԡ͞Εͨ࣌ʹೖྗ͞ΕͨใΛ(ෆਖ਼ͳ)֎෦αʔόʹૹ৴͢ΔΑ͏ʹ͠ͳ͍̐͞ɽ্ه̎ͭͷػೳΛ࣋ͬͨϖʔδʹ༠ಋ͢ΔϦϯΫ(URL)Λ࡞͠ͳ͍̑͞ɽܝࣔ൘ʹ্ه(4.)ͷURLʹ༠ಋ͢ΔϦϯΫΛॻ͖ࠐΈͳ͍͞ܝࣔ൘ɿBWAτοϓϖʔδ→Yazd→Test Forum A
#8"8BDLP1JDLP'JSFGPY#8":B[E"QBDIFϩάΠϯ͓ΑͼαΠτͷܧଓతར༻᠘αΠτͷΞΫηε੬ऑͳαΠτͷϦϯΫPOST(߈ܸ༻HTML/javascriptΛؚΉ)߈ܸίʔυΛؚΜͩΞΫηε(߈ܸऀʹcookieΛૹ৴͢Δίʔυ)cookieͷใΛૹ৴cookie͔ΒηογϣϯIDΛऔಘϢʔβʹͳΓ͢·ͯ͠ΞΫηε੬ऑͳ෦ԋशΛ௨ͯ͠શମͷγφϦΦΛཧղͯ͠͏25ܝࣔ൘αΠτΛ๚Εෆ༻ҙʹURLΛΫϦοΫͨ͠ॴɺଞͰϩάΠϯ͍ͯͨ͠ը૾ڞ༗αΠτʹෆਖ਼ʹ৵ೖ͞Εͯ͠·͍ɺϓϥΠϕʔτͳࣸਅΛݟΒΕΔͷةݥੑ͕͋ΔࣄΛ࣮ײͯ͠͏ɻଞͷαʔϏεؚΊͯͲΜͳඃ͕ൃੜ͢Δ͔डߨऀʹߟ͑ͯ͏ɻ!
26͋ͬ͞Γͱղ͚ͨडߨੜ͚ʹՃͨ͠(͓·͚)
GETةݥɺPOST҆શʁʁ27ɾGETͰͳ͘POSTΛ͏͖(ͱ͍͏ਓ͕͍Δ)URLʹ߈ܸίʔυΛຒΊΒΕͳ͍ͷͰɺ҆શͩͱצҧ͍͍ͯ͠ΔݕࡧϑΥʔϜɿBWAτοϓϖʔδ→OWASP WebGoat→Cross-Site Scripting(XSS)→Phishing with XSS͜͜ͷݕࡧϑΥʔϜPOSTΛར༻͍ͯ͠Δɻຊʹ҆શͰ͠ΐ͏͔ʁ
ԋश՝̏28̍ɽݕࡧϑΥʔϜΛར༻ͯ͠cookieͷதΛදࣔͤ͞ͳ͍̎͞ɽݕࡧϑΥʔϜΛར༻ͯ͠cookieͷதΛෆਖ਼ͳWEBαʔόʹૹ৴͠ͳ͍̏͞ɽԼهͷ༷ͳೝূใΛೖྗ͢ΔϑΥʔϜΛ࡞Γͳ͍̐͞ɽೝূใΛೖྗ͠ɺͦͷ༰Λෆਖ਼WEBαʔόʹૹ৴͠ͳ͍͞
ԋश՝̐29̍ɽܝࣔ൘(Yazd)ʹ᠘Λֻ͚ɺ՝̏ͷೝূใೖྗϑΥʔϜΛදࣔͤ͞ͳ͍͞ܝࣔ൘ɿBWAτοϓϖʔδ→Yazd→Test Forum A̎ɽ্هͷϑΥʔϜʹuser/passΛೖྗ͠ɺใ͕࿙Ӯ͍ͯ͠ΔࣄΛ֬ೝ͠ͳ͍̏͞ɽܝࣔ൘(WebGoat)ʹ᠘Λֻ͚ɺೝূใೖྗϑΥʔϜΛදࣔͤ͞ͳ͍͞ܝࣔ൘ɿBWAτοϓϖʔδ→OWASP WebGoat→Cross-Site Scripting(XSS)→Stored XSS Attacks̐ɽ্هͷϑΥʔϜʹuser/passΛೖྗ͠ɺใ͕࿙Ӯ͍ͯ͠ΔࣄΛ֬ೝ͠ͳ͍͞:B[Eͷܝࣔ൘ຊޠʹରԠ͍ͯ͠ͳ͍ͷͰɺϝοηʔδӳޠͰྑ͍'JSFGPYͷ։ൃπʔϧͰ)551௨৴ͷ༰ΛѲ͢Δ'PSN JOQVUλάͰ1045͕Մೳ)5.-ͷߏΛௐࠪ͠ɺѱҙ͋Δίʔυ͕Ͳͷ෦ʹө͞ΕΔ͔֬ೝ͢Δώϯτ
30ηΩϡϦςΟԋशΛ࣮ࢪ༷ͨ͠ࢠΛ۩ମతʹհ͠·͢
౦େੜ͚ͷηΩϡϦςΟ߹॓• ରऀɿ౦େੜ(ओʹम࢜) 10໊ఔ• ։࠵/ظؒɿശࠜͷϗςϧ / 2ധ3• डߨऀͷϨϕϧɿཧܥֶੜͱͯ͠ߴ͍جૅྗΛ࣋ͭɻҰํͰHTMLJSɺHTTPͷWEBٕज़ͷجૅΛΒͳֶ͍ੜҰఆͷׂ߹ଘࡏ͢ΔɻηΩϡϦςΟٕज़ʹڵຯ͕͋ΔఔͰɺCTFࢀՃऀͳͲ͍ͳ͍ঢ়گɻ31Λղ༷͘ࢠԋशձͷ༷ࢠ
߹॓ʹ͓͚Δԋशڥͷ४උ• ߹॓લʹडߨऀ֤ࣗͷϚγϯʹOWASP BWAΛΠϯετʔϧ͖ͯͯ͠͏• VMWare Player(Win) / VirtualBox(Win/Mac) / VMWare fusion(Macɾ༗ঈ)ͰBWA͕ແ͘ىಈ• FirefoxซͤͯΠϯετʔϧͯ͘͠ΔΑ͏ʹࢦࣔ• ߦͷΠϯετʔϧղઆΛࣄલʹૹͬͨͷΈͰɺಛஈͷτϥϒϧແ͠• ApacheͳͲԋशʹผ్ࢦࣔͯ͠४උͯ͠͏• VirtualBoxOWASP BWAͰGB͋ΔͷͰUSBϝϞϦೖΕ͓ͯ͘ͱτϥϒϧ࣌ʹཱͭ• ֤ࣗͷPCͰ݁ͯ͠ԋश͕ߦ͑Δঢ়ଶ (ձͷωοτϫʔΫڥ͕ಡΊͳ͍ͨΊ)32੬ऑͳ8αΠτϒϥβ ใ࿙ӮઌͷαΠτडߨऀPC্ͷFirefoxApacheͳͲͷhttpd᠘αΠτBWA্ͷܝࣔ൘”Yazd”BWA্ͷࣸਅڞ༗αΠτ”WackoPicko”੬ऑͳ8αΠτϒϥβ ใ࿙ӮઌͷαΠτडߨऀPC্ͷFirefoxApacheͳͲͷhttpd᠘αΠτBWA্ͷܝࣔ൘”Yazd”BWA্ͷࣸਅڞ༗αΠτ”WackoPicko”
߹॓ͷϓϩάϥϜ• 1 (౦େ ߨࢣਞ)– ωοτϫʔΫ/ೝূ/WEB/OSʹؔ͢Δߨٛ– OWASP TOP 10ʹؔ͢Δௐࠪ(άϧʔϓϫʔΫ)• 2 (౦େ ߨࢣਞ)– OWASP TOP 10ʹؔ͢Δൃදͱٞ– OWASP BWAΛ༻͍ͨԋश• 3 (ָఱCERT ߨࢣਞ)– ָఱΛऔΓר͘ϦΞϧͳηΩϡϦςΟͷ– XSS / SQLi / RCEΛத৺ͱͨ͠ԋश– ιʔγϟϧΤϯδχΞϦϯάͷ33TOP 10άϧʔϓؒͰͷॏෳΛڐ̎͠ɼ̏ͷςʔϚΛௐ͓ࠪΑͼൃදɻ͕σϞΛ࡞͢Δͱ͍͏ྗͷೖΕΑ͏Ͱ͋ͬͨɻBWAԋश4࣌ؒͷ༧ఆ͕ϓϩάϥϜ͕ԡͯ͠͠·͍2࣌ؒͷΈɻ͕࣌ؒΓͳ͍ͱͷҙݟ͕ଟग़͕ͨɺԋश՝̎·Ͱଟ͘ͷडߨऀ͕ղ͍͍ͯͨɻ!
౦େ৬һ͚ηΩϡϦςΟԋश• ରऀɿ౦େCERT(ओʹࣄ৬һʴٕज़৬һ) 5໊• ։࠵/ظؒɿ౦େͷձٞࣨ / 2ϲ݄(1.5࣌ؒ/ि)• डߨऀͷϨϕϧɿʑηΩϡϦςΟͷʹ৮ΕΔ͕ٕज़తͳৄࡉΛֶश͢Δػձແ͍ɻCSͷόοΫάϥϯυ͋·Γແ͍ɻ1໊ใܥग़Ͱ2ճ(3࣌ؒ)΄ͲͰશͯऴྃɻ34Ώͬ͘ΓਐΊΔࣄ͕ॏཁɻֶੜʹࣄલߨٛͰWEBʹ͓͚ΔηογϣϯཧಉҰੜݩϙϦγʔͳͲʹݴٴ͕ͨ͠ɺ৬һ͚Ͱ͞ΒʹHTMLλά؆୯ͳJSͷ࣮ߦͷํͳͲؚΊͯेʹ࣌ؒΛऔͬͯਐΊͨɻ͔͔͕࣌ؒͬͨԋश՝̎·Ͱଟ͕͘ղͰ͖ͨɻ!
ԋशڥͷߏங੬ऑͳ8αΠτใ࿙ӮઌͷαΠτApacheͳͲͷhttpd᠘αΠτBWA্ͷܝࣔ൘”Yazd”BWA্ͷࣸਅڞ༗αΠτ”WackoPicko”• VMWare vSphere (ESXi)ͷڥʹBWAΛ४උ• ެࣜαΠτ͔Βऔಘͨ͠.vmxϑΝΠϧΛVMWare OVFToolΛར༻ͯ͠.ovaʹมͯ͠ར༻͢Δ• BWAެࣜͷOVA(ver 1.2 / 1.1.1)ىಈͤͣWEB্Ͱಉ༷ͷࢦఠ༗Γ• OVFToolίϚϯυWin/Mac/Linux൛͕༻ҙ͞Ε͍ͯΔʢMacͷ߹Լهͷ༷ʹม͢Δ)• /Applications/VMware\ OVF\ Tool/ovftool --acceptAllEulas path/to/vm/VM01.vmwarevm/VM01.vmx path/to/output/VM01.ova• vSphere client͔Β্هͰੜͨ͠.ovaϑΝΠϧΛσϓϩΠ͢ΕBWA͕ར༻Մೳ• ࣮ݧ༻ͷԾԽج൫্Ͱߦ͕ͬͨ҆શͷͨΊԋश࣌Ҏ֎BWAͷిݯOFFʹ (εφοϓγϣοτΛऔͬͯॳظԽ༗ޮ)• डߨऀFirefoxΛΠϯετʔϧͨ͠PCΛ࣋ࢀ͢Δ͚ͩ35vSphere 6.0 @ Mac mini 2012(16GB MEM, 256GB SSDx2)
ֶੜ͚ / ৬һ͚ͷԋशΛ௨ͯ͠ͷࡶײ• جૅྗͷࠩͦ͋͜Εɺ࣌ؒΛֻ͚Εஈ֊Λͬͯղ͕Մೳ• खΛಈ͔͠ͳ͕Β͕ղ͚ͨ࣌ྸʹؔΘΒָͣͦ͠͏Ͱ͋Δ• ಛʹ৬һ۩ମతʹةݥͰ͋ΔͱॳΊͯ૾Ͱ͖Δέʔεଟ͍• ֶੜ͚ʹ༰Λॆ࣮͢Δඞཁ͕͋Δ(ଟ͘ΛֶΜͰཉ͍͠)• ಥग़ͯ͠ਐΉֶੜ͕͍ͯɺղ͖͘ࡐBWAʹ૬͋ΔͷͰ์ஔϓϨʔՄೳ• ৬һ͚ʹICTཧऀͳͲ෯͘ࢀՃ͍ͯ͠ɺҙ্ࣝΛਤΔࣄ͕ޮՌత• ڥߏஙBWAͷύοέʔδϯάͱVMͷ͓͔͛Ͱ૬ʹָͰ͋Δ(γφϦΦ࡞ʹूதग़དྷΔ)• ԋश࣮ࢪऀ෯ֶ͘ΔɻηΩϡϦςΟΛֶͼ͍ͨ։ൃऀूஂͰ͋Εɺ֤ࣗͰςʔϚΛܾΊͯ1࣌ؒఔͷԋशΛॱ൪ʹ୲͢ΔͱޮతʹશମͷϨϕϧΞοϓ͕ਤΕΔͷͰͳ͍͔36Δͱܾ·ͬͨ࣌४උʹෆ҆ײ͡·͕ͨ͠ɺBWAͷΞϓϦ͕ॆ࣮͍ͯ͠ΔͷͰ४උ͠қ͔ͬͨͰ͢ɻडߨऀͷԠϙδςΟϒͰཧղਂ·ͬͨΑ͏Ͱɺͬͯྑ͔ͬͨͰ͢ɻ!
·ͱΊ• OWASP BWA(Broken Web Application)ͷհ• γφϦΦͷ࡞ϙϦγʔ / ࡞खॱ• XSSʹؔ͢Δ۩ମతͳͷཻ/ॱ൪• XSSʹؔ͢Δԋश՝1-4• ֶੜ/৬һ͚ͷԋश༰(എܠ/ڥߏங)ͷհ37ηΩϡϦςΟԋशҎ֎ͱ؆୯ʹ࢝ΊΒΕ·͢ɻ·ͩͷํੋඇʂ!