Pages

2/24/2011

It's time to open Google for recipes

Google just announce Google's "Recipe View" on their blog.
It basically is a set of filters that you can narrow down to find a recipe that you want after you search for it in Google.

The filters in Recipe View includes:
- filter for specific ingredients
- estimated cooking time
- estimated calories

Google even shows the review stars in the search results, if the websites are implemented with the meta tag Google created. http://www.google.com/support/webmasters/bin/answer.py?answer=173379


Ref:
- Google Blog Post : http://googleblog.blogspot.com/2011/02/slice-and-dice-your-recipe-search.html
- Google Recipe snippet's format : http://www.google.com/support/webmasters/bin/answer.py?answer=173379
- Google Rich Snippet : http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=99170

Social Engineering in-depth in AIDE 2011

Social Engineering in-depth
by Chris Criswell & Wayne Porter
in AIDE winter meeting 2011
via IronGeek


Social Engineering In-Depth from Adrian Crenshaw on Vimeo.

more vdo on AIDE 2011 via IronGeek
http://www.irongeek.com/i.php?page=videos/aide-winter-2011

AIDE
http://aide.marshall.edu/

2/18/2011

Javascript Obfuscation

หลังจากคุยกับคุณ Gen0Type เลยได้เห็น javascript แบบที่โดนเข้ารหัสทำให้อ่านไม่ออกไว้ แบบนี้
($=[$=[]][(__=!$+$)[_=-~-~-~$]+({}+$)[_/_]+
($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__
[_+~$]+$_[_]+$$](_/_)
นี่เป็น Javascript ที่ทำงานได้จริง และถูกแปลออกมาเป็นคำสั่งแค่
alert(1)

ซึ่งก็เลยเกิดฉงนขึ้นมาว่ามันเขียนได้ยังไงฟะ
พอไปนั่งค้นออกมาปรากฎว่าเจอเวปนี้
http://adamcecc.blogspot.com/2011/01/javascript.html
ทำการอธิบายไว้อย่างดีเลยว่าแต่ละstepมาได้ยังไง
เช่นว่า
$=[] สร้าง empty array
__=!$+$  โดยที่ถ้า$==[] อยู่ ก็จะกลายเป็น ![] + [] แล้วก็จะเป็น false+[] และก็จะกลายเป็น "false" ใส่ไว้ในตัวแปรชื่อ __
_=-~-~-~$ นี่ก็เทพมาก ต้องเกริ่นก่อนว่า เมื่อ $==[] อยู่ พอเจอ operator ไม่ว่าจะเป็น ~(bitwise not) หรือ - (negative) แอเรย์เปล่าๆก็จะกลายมีค่าเป็น 0
แต่ที่เทพจริงๆก็คือ ~0 จะได้ออกมาเป็น -1 แล้วพอใส่ลบนำหน้าไป ก็จะออกมาเป็น -(-1)==1 ง่ายๆ
ดังนั้น -~ นำหน้าอะไรก็ตามจะได้ผลลัพธ์ทำนองเดียวกันกับ ค่านั้น+1
มาดูว่าจริงๆแล้วทำงานยังไง
~0 หมายถึงเราทำ bitwise not กับค่าศูนย์ทุกบิต
จาก ~ 00000000 ก็จะกลายเป็น 11111111
ซึ่งพอทำ 2's complement กลับมา มันก็จะกลายเป็น -1 นั่นเอง
แต่พอใส่ - นำหน้า -1 จะเปลี่ยนเป็น +1 (อันนี้ปกติไม่แปลก)
พอเราใส่เป็น ~-~0 ก็จะเหมือนทำ ~1 ก็จะเป็นแบบนี้อีก
~1 == ~00000001 == 11111110 == -2
แบบนี้ไปเรื่อยๆ
เอาเป็นว่า สรุปเป็นหลักๆ ได้แบบนี้ เวลาอยากจะ obfuscate javascript
1. มี javascript ก่อน ว่าจะเอาอะไรเวลา obfuscate
2. สร้างทริคโค้ดเพื่อให้ได้ตัวอักษรนั้นๆออกมา เช่น !''==true แล้วเอามาทำเป็นสตริง
3. ใช้การเข้าถึงstringแบบarray เช่น "true"[1] == "r"
4. เอามาต่อกันเพื่อให้เป็น string
5. ใช้ทริ๊ค javascript เพื่อให้ได้ object window ออกมา เช่น ($=[]["sort"])()=window
6. แล้วก็เรียกใช้คำสั่งแบบ  window["alert"](1)  แทนที่จะเป็น window.alert(1)

มีคนทำวีดีโอบรรยายเรื่องแบบนี้ที่

Javascript With No Letters or Numbers: Joey Tyson NoVa Hackers Oct 2010 from Georgia Weidman on Vimeo.

แต่ถ้าไม่ทำก็คงไม่เห็นภาพ งั้นเดี๋ยวจะ derive ให้ดูทีละ step
1:($=[$=[]][(__=!$+$)[_=-~-~-~$]+({}+$)[_/_]+($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_)
2:($=[[]][(__=!$+$)[_=-~-~-~$]+({}+$)[_/_]+($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=[]
3:($=[[]][(__=![]+[])[_=-~-~-~$]+({}+$)[_/_]+($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=[]
4:($=[[]][(__=false+[])[_=-~-~-~$]+({}+$)[_/_]+($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=[]
5:($=[[]][(__="false")[_=-~-~-~$]+({}+$)[_/_]+($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=[]
6:($=[[]]["false"[_=-~-~-~$]+({}+$)[_/_]+($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=[],__="false"
7:($=[[]]["false"[_=-~-~-~[]]+({}+$)[_/_]+($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=[],__="false"
8:($=[[]]["false"[_=-~-~-(-1)]+({}+$)[_/_]+($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=[],__="false"
9:($=[[]]["false"[_=-~-~1]+({}+$)[_/_]+($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=[],__="false"
10:($=[[]]["false"[_=-~-(-2)]+({}+$)[_/_]+($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=[],__="false"
11:($=[[]]["false"[_=-~2]+({}+$)[_/_]+($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=[],__="false"
12:($=[[]]["false"[_=-(-3)]+({}+$)[_/_]+($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=[],__="false"
13:($=[[]]["false"[_=3]+({}+$)[_/_]+($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=[],__="false"
14:($=[[]]["false"[3]+({}+$)[_/_]+($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=[],__="false",_=3
15:($=[[]]["s"+({}+$)[_/_]+($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=[],__="false",_=3
15:($=[[]]["s"+"[object Object]"[3/3]+($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=[],__="false",_=3
16:($=[[]]["s"+"o"+($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=[],__="false",_=3
17:($=[[]]["s"+"o"+($$=($_=true+[])[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=[],__="false",_=3
18:($=[[]]["s"+"o"+($$=($_="true")[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=[],__="false",_=3
19:($=[[]]["s"+"o"+($$="true"[1]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=[],__="false",_=3,$_="true"
20:($=[[]]["s"+"o"+($$="r"+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=[],__="false",_=3,$_="true"
21:($=[[]]["s"+"o"+($$="r"+"true"[0])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=[],__="false",_=3,$_="true"
22:($=[[]]["s"+"o"+($$="r"+"t")])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=[],__="false",_=3,$_="true"
23:($=[[]]["s"+"o"+"rt"])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=[],__="false",_=3,$_="true",$$="rt"
24:($=[[]]["sort"])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=[],__="false",_=3,$_="true",$$="rt"
25:window[__[_/_]+__[_+~$]+$_[_]+$$](_/_):$=window,__="false",_=3,$_="true",$$="rt"
26:window["false"[1]+"false"[3+(-1)]+"true"[3]+"rt"](1):$=window,__="false",_=3,$_="true",$$="rt"
27:window["a"+"l"+"e"+"rt"](1):$=window,__="false",_=3,$_="true",$$="rt"
28:window["alert"](1):$=window,__="false",_=3,$_="true",$$="rt"

มีบางส่วนที่ย่อไปเช่น _/_ คือหมายถึง 3/3 ซึ่งก็คือ 1
แล้วก็มีเสต็ป ($=[[]]["sort"])() ซึ่งเป้นทริกของ(ช่องโหว่)ของ Javascript ที่จะให้ผลลัพธ์ออกมาแล้วได้ออปเจ็ค window ออกมา


ref:
- คำบรรยาย http://adamcecc.blogspot.com/2011/01/javascript.html
- วีดีโอบรรยายเรื่องนี้ เนื้อหาเยอะ http://vimeo.com/15961577
- เนื้อหาเทคนิคobfuscateแบบต่างๆ http://sla.ckers.org/forum/list.php?24
- converter http://discogscounter.getfreehosting.co.uk/js-noalnum_com.php
- converter http://utf-8.jp/public/jsfuck.html
- converter(แบบใช้emoticon) http://utf-8.jp/public/aaencode.html

2/17/2011

Google Technology Update

อ่านupdateของ Google's Blog อยู่ ก็เลยเห็นว่าเดี๋ยวนี้ Google พัฒนาของเล่นมาอีกละ
ที่จะมานำเสนอวันนี้มีสองอย่าง

อันแรกค้นหาใน Social Network ด้วย Google Social Search
จุดประสงค์หลักก็คือ เราจะสามารถค้นหา ในGoogle แต่ให้ผลลัพธ์ที่เป็นของเพื่อนๆของเรา แสดงขึ้นมาอยู่อันดับแรกๆ
อันนี้เป็นจุดประสงค์หลักเลย ของระบบที่เรียกว่า Recommendation
คือการให้คะแนนผลลัพธ์ในการค้นหา โดยอ้างอิงจากบุคคลอื่น ว่า "เขาบอกว่าดี" หรือ "เขาบอกว่าไม่ดี"

เทรนด์นี้กำลังมาแรง เพราะว่าระบบ social network กำลังดัง
ไม่ว่าจะเป็น facebook, twitter, yelp, blog ก็เป็นแหล่งที่ทุกคนติดต่อสื่อสาร และสร้างสังคมกันออนไลน์อยุ่แล้ว
ดังนั้น ถ้าจะดียิ่งขึ้นไปอีก ระบบค้นหาที่สามารถค้นหาข้อมุลในนี้ได้จะดีแค่ไหน
แล้วยิ่งที่ถ้ามีใครซักคนสามารถค้นหาได้ ไม่มีข้อกำหนดว่า คนๆนั้นต้องใช้ระบบนี้ๆนะ
แต่หากว่าสามารถค้นหาในทุกๆ ระบบที่กล่าวมาได้  พร้อมกัน จะดีแค่ไหน
และนี่... ก็เป็นสิ่งที่เราจะได้จาก Google Social Search



แน่นอนว่า ก่อนที่ Google จะรู้ได้ว่าเราเป็นเพื่อนกับใครบ้าง  เราก็ต้องบอกGoogleก่อน
ซึ่งนี่ก็เป็นอีกหนึ่ง feature ที่ Google เอาออกมาให้เราใช้
นั่นคือ Google Account สามารถเชื่อมกับเพื่อนๆ ทางระบบอื่นๆได้แล้ว


อย่างที่สองคือ แสดงผลข้อมูลอย่างง่ายๆ ได้ด้วย Google Public Data Explorer
ถ้าใครทำอะไรเกี่ยวกับข้อมูลอยู่ จะรู้ได้เลยว่า เวลาตารางมันมีแต่ตัวเลขเนี่ย มันดูยากแค่ไหน
เพราะมองไปทางไหนก็เห็นแต่ตัวเลขเต็มไปหมด
นี่เป็นสาเหตุนึงที่คนเราถึงคิดระบบการวาดกราฟ ขึ้นมา เพื่อช่วยให้เราเห็นข้อมูลในรูปแบบที่ง่ายขึ้น ชัดเจนขึ้น และลดความซับซ้อนลง
เครื่องมือของเล่นใหม่ของGoogleตัวนี้  เราสามารถส่งข้อมูลให้มันได้ เพื่อให้มัน visualize ออกมาเป็นกราฟที่สวยงาม หรือว่า เลือกใช้ข้อมูลสาธารณะ ที่Googleใส่เข้าไปแล้ว 27ข้อมูลนี่ได้ http://www.google.com/publicdata/directory

อาจจะคิดว่า.. มันไม่ต่างอะไรกับการใช้ Excel กรอกข้อมูลแล้วก็กดสร้างกราฟ
แต่ลองมาคิดว่า ถ้าเป็นข้อมูลขนาดใหญ่มากๆล่ะ  แถมยังมีคนที่มีกำลังการประมวลผลด้วย Cloud computing แถมทำให้ฟรีอีกต่างหาก  อันนี้ค่อยน่าสนใจหน่อย
ภาพจากบนหน้าGoogle Public Data Explorer (เปรียบเทียบ GDP per capita ของแต่ละประเทศปี 2007)
ประเทศไทยนี่ก็มี GDP per capita สูงกว่าเพื่อนบ้านนะเนี่ย  เกือบเท่าจีนแน่ะ

ไปลองเล่นกันได้ ที่นี่ http://www.google.com/publicdata

ref:
http://googleblog.blogspot.com/2011/02/update-to-google-social-search.html
http://googleblog.blogspot.com/2011/02/visualize-your-own-data-in-google.html

2/15/2011

Malware จาก Facebook ภาค 3

ไม่รู้จะต้องต่อไปอีกกี่ภาคจะหมด  แต่ก็ถ้าได้ของเล่นมาใหม่ก็จะเอามาลองดู

ความจริงอันนี้ดูเหมือนจะไม่ใช่ malware อะไร แต่เห็นเริ่มจะเห็น pattern อะไรแปลกๆ

อันนี้มันมาเป็น email มาบอกว่ามีคนโพสต์อะไรซักอย่างที่ Wall




พอเช็คตัวemailแล้ว ทุกอย่างดูเชื่อถือได้หมด
คนส่งเป็น Facebook, origin เองก็มาจาก facebook เอง

แต่พอดู Link นี่แล้ว ประหลาด
ดันเป็น www.facebook.com/l/f58b8;goo.gl/rRh9q
อ่านแล้วก็งง
เหมือนจะจำได้ว่าเคยเล่น facebook redirect อยู่
ที่จะเป็น  www.facebook.com/l.php?u=www.example.com&h=abcdef

นี่มันเหมือน redirect เลย แถมยังมาแนวใหม่
เดี๋ยวนี้ไม่ต้องใช้ .php ใส่แล้ว
แถมเอา hashมาขึ้นก่อน แล้วไม่ต้องมีชื่อ parameter แล้วด้วย
ใช้ semi-colon คั่นได้เลย  เจ๋งดี

แต่ก่อนอื่นหาให้ได้ก่อนว่า ไอ้ url ที่เป็น goo.gl/rRh9q เนี่ยมาจากไหน

ด้วยเทคนิคของทางgoogleบอกเอาไว้
เวลาอยากรู้URLไหนที่ถูกย่อด้วย goo.gl  ทำได้สามทาง
  1. ใส่ + ต่อท้าย   จะกลายเป็น  http://goo.gl/rRh9q+
  2. ใส่ .info ต่อท้าย จะกลายเป็น http://goo.gl/rRh9q.info
  3. หรือแทรก /info/ จะกลายเป็น http://goo.gl/info/rRh9q


เหอๆ ได้จาก FB แต่ดันออกไปหาเวปอื่นซะง้าน

ปกติแล้ว จะเริ่มหยุดที่ราวๆนี้แหละ ขี้เกียจทำต่อ
แต่.. เอาล่ะ ไหนๆจะเขียนโพสต์นี้แล้ว ตามก็ตามฟะ
ก็กดเข้าไปเลย


เริ่มต้นจาก
goo.gl/rRh9q
ต่อมาไปต่อ
xbox360iso.info/go.php
ต่อไปอีกไป
apps.facebook.com/thinkingwhat/    (ตรงนี้บางทีก็เปลี่ยนเป็น womanjob, หรืออื่นๆ)
ดังนั้นตรงนี้ยังไม่ใช่ตัวหลัก

มีต่ออีก  มีการต่อไปหา facebook เพื่อขอ สิทธิ์แบบปกติ
จนในที่สุดก็ได้สิทธิ์แล้วก็ไปใช้งานapp ที่
http://anticreep.org/kk
นี่แหละตัวสำคัญ ฮ่าๆ
เพราะว่าได้สิทธิ์แล้วก็ส่งสิทธิ์ผ่านตัวนี้
ถึงแม้ว่าจะติดต่อผ่านหน้ากาก thinkingwhat แต่ก็ตัวwebจริงๆอยู่ที่ anticreep

ตรงนี้ก็ยังเหมือนเวปธรรมดาทั่วๆไป
แต่หลังจากนี้สิ
เริ่มมีการ request ชื่อเพื่อนของเรา มีการดึงข้อมูล basic info ไป
แล้วก็เริ่มมีการเรียกไอ้ pop-up survey ปัญญาอ่อนนั่นขึ้นมา
ที่มันมีกรอบ survey แบบนี้อ่ะ
Survey นี้มาจาก bannerperformance.net
ซึ่งมีโค้ดjavascript ซ่อนอยู่  แล้วก็โค้ดพวกsurveyนี่ก็แบบ..
<font id="survey_3"> <a class="offerlink" onclick="clickSurvey(82349881028, 3); awaitLead('survey', '82349881028'); return false;"> <img src="http://www.bannerperformance.net/webicons/script_edit.png" border="0"> Get Your Verizion iPhone 4 Here</a> </font>
จะมาดูเวปfacebookแต่ดันเอา iphone มาล่อซะงั้น
เฮ้อ... กดไปเห้อ.. ไม่ได้ไปไหนหรอก

และแล้ว...
ก็มาถึงช็อตสำคัญ  เนื้อหาหลักของ facebook app นี้
นั่นก็คือการบอกว่า มีคนเข้าดู profile เรากี่คน ชายเท่าไหร่ หญิงเท่าไหร่
ดีที่ว่า คนเข้า ชายหญิง ไม่เหมือนกับสิ่งที่ได้มาตอนแรกใน email ไม่งั้นจะกากหนักกว่านี้ ฮ่าๆ

แล้วหลังจากนี้ ก็คงเอารายชื่อเพื่อนเรามาให้เราไปโพสต์หน้า wall ของเพื่อนพวกนั้นให้มาโดนกันต่อไปอีก

น่าสนใจต่อไปก็คือ  ตัวนี้ดันมีเก็บสถิติด้วยนะ :)
http://whos.amung.us/stats/maps/gdoklae6ad0k/
 อันนี้กราฟสถิติว่า ประเทศไหนมันกด link นี้กันเยอะสุด
แล้วจะเห็นว่า... ประเทศไทยนี่มันไม่น้อยหน้าใครในโลกจริงๆ ฮ่าๆ
(ยุโรปเนี่ยยกให้หน่อย เพราะ ต้นกำเนิดตัวนี้มันอยู่แถวยุโรป)

ส่วนวิธีแก้ของคนที่เข้าไปแล้ว
ก็ง่ายๆ
แค่ไปเอา facebook application ตัวนี้ออกเอง
กดเข้าไปที่..
- Account (มุมขวาบนของ facebook)
- Privacy Settings
- ในช่อง Apps and Websites เลือก Edit your settings
- คลิ๊กเลือก fb app ที่ต้องการเอาออก  (ในที่นี่เรากด app ชื่อ Thinking เข้ามา เลยต้องเอาตัวนี้ออก)
หน้าจอตอนนี้จะได้เป็นราวๆนี้

- ก็กด Remove App ไป
- ถ้าเอาให้ชัวร์ก็ Logout ซะด้วยเลย   จะเป็นการตัด sessions อื่นๆที่คนอื่นเข้าอยุ่ไม่ให้ใครเข้าได้
- เอาให้ชัวร์ยิ่งๆขึ้นไปอีก  เปลี่ยน password มันซะเลย    (แต่คิดว่าไม่ต้องถึงขั้นนี้นะ)

เอาละ จบการรายงานข่าว

Anidear: เล่าข่าว
Anidear: ภาพ

Buffer Overflow Exploit in Microsoft Windows Graphic Rendering Engine

Timeline:
Exploits published on 2011-01-04
Metasploit file (as POC) added on 2011-01-04
Microsoft Advisory on 2011-01-04
Microsoft Patch publish on 2011-02-08

OK, now coming to brief info about this vulnerability.



This vulnerability is accredited to Moti & Xu Hao

From what I read in SecurityFocus, it seem  the exploit is using "a .MIC file or an office file" to exploit "shimgvw.dll" when "Windows Explorer" trying to generate "a thumbnail" from the file.

The vulnerable machines are:
  • Windows XP SP3 and x64 SP2
  • Windows Server 2003 32bit, 64SP2, Itanium-based for SP2
  • Windows Vista 32bit, 64bit for both SP1, SP2
  • Windows Server 2008 32bit, 64bit, Itanium-based, both original & SP2
Testing with Metasploit

use exploit/windows/fileformat/ms11_006_createsizeddibsection


Default filename is "msf.doc"
Doc is one of ms office file formats, choosing this is a good choice for hacker to spread the file.

I'm testing this on XP SP3 with firewall on, AV on, without patch KB2483185.
Oh, and I'm using just MS Word Viewer.

After created the file, I navigated to the folder.

Then, without clicking anything further, msfconsole got a meterpreter session.
The viewing method must be "Thumbnails", otherwise it does not work.


 What it actually happens is, whenever user opens the folder that has this file in it, Windows Explorer program will trying to generate a thumbnail for the file.
And that's where the exploit comes in, this file attacks by having negative value in "biClrUsed". It causes stack-based buffer overflow that can trigger our embedded payload to run.

To Fix It:
suggestions from microsoft are
 - For XP, 2003 to disable ACL (Access Control List) of the file name shimgvw.dll
 - For Vista, 2008, to disable viewing of thumbnails in Windows Explorer
Or
simply update windows on patch KB2483185 (http://support.microsoft.com/kb/2483185), it will replace files that have the problem. (shimgvw.dll, shell32.dll, ...etc)

Restart is required after installing patch.



Ref:
- Microsoft Windows Graphics Rendering Engine Buffer Overflow
- Metasploit's ms11_006_createsizeddibsection
- (original)Metasploit's ms11_xxx_createsizeddibsection
- Microsoft Advisory
- Microsoft's patch MS11_006
- Microsoft Patch KB2483185
- CVE2011-3970 
- http://www.securityfocus.com/bid/45662

2/13/2011

XSS on Gmail

I just read these two blog posts today, it's really interesting.

http://spareclockcycles.org/2010/12/14/gmail-google-chrome-xss-vulnerability/
          and
http://spareclockcycles.org/2011/02/11/android-gmail-app-stealing-emails-via-xss/


First one is, XSS on Gmail via Google Chrome.

     Briefly description is, the author found a very severe exploits in 10 minutes. It's an exploit that allows an attacker to use javascript or html as an attached file name and it will be rendered in Google Chrome in every version.

Example of the file name we are talking about is this (without any spaces)
"><img src="http://bit.ly/XcfTv" onload="alert(String.fromCharCode(88,83,83))"/>.txt

Second one is, XSS on Gmail via Android Gmail App

     During the time he was finding out the restriction of email address name on Gmail, the author discovered an XSS vulnerability on Gmail App on his Android phone. He investigated further and found that he can also download all e-mails, add a any person to contact list, automatically sending spam to any person, or the worst, download and run/render external file.

Examples of exploited email address

"><script>window.location='http://google.com'</script>"@somedmn.com

" onload=window.location='http://google.com'"@somedmn.com

Other than these,
      I also found 2 interesting websites from the posts:

http://www.google.com/corporate/halloffame.html - this reminds me that you can get some money by finding Google Chrome's vulnerability, and you can get into the hall of fame.

http://ha.ckers.org/xss.html - various patterns of how to use XSS

Facebook: Facts & Figures

These are facts and figures I was searching from Facebook's Help page.

Updated on : Feb 13, 2011

A person:

  • can join 300 groups 
  • can like 500 pages 
  • can have 1000 friends per a friend list
  • can have 100 friend lists
  • can send a message to 20 friends at once, but for none-friend, one message/person at a time.
  • above rule applies to VDO message
  • can upload photos up to 200 photos per album, with no limit on number of albums. Mobile album restricts at 100 photos per album  
  • has no limit on number of using applications
  • has no limit on number of pages managed.
VDO Uploading:
  • larger edge less than 1280 pixels
  • aspect ratio between 9:16 to 16:9
  • maximum 30fps (if excess, it'll be re-encoded to 30fps)
  • sound can be either mono or stereo (if excess,like 5.1 ch, it'll be re-encoded to 2 ch)
  • sound can be sampled either 22.05kHz or 44.1 kHz whichever is closest to original
  • VDO file types: 3g2,3gp,3gpp,asf,avi,dat, flv,m4v,mkv,mod,mov,mp4,mpe,mpeg,mpeg4,mpg,nsv,ogm,ogv,qt,tod,vob,wmv
  • recommended format: H.264 + AAC in .MOV or .MP4

Page:
  • Page name can be change, only if <100 members
  • No limit on number of admins 

Group:

  • (new group) has chatting feature only when it has less than 250 members
  • (old group) has group messaging (for admin) only when it has less than 5,000 members
Ref:
I'd like to provide all the links, but they are too many.
So I'll give few examples:
  • http://www.facebook.com/help/?faq=12595
  • http://www.facebook.com/help/?faq=12276
  • http://www.facebook.com/help/?faq=12080
  • http://www.facebook.com/help/?faq=12079
  • http://www.facebook.com/help/?faq=12203
  • http://www.facebook.com/help/?faq=13064
The rest, you can search for them in http://www.facebook.com/help

2/10/2011

Night Dragon Attack

Night Dragon เป็นชื่อ operation ของ hackers ชาวจีน ที่พยายามจะเข้าโจมตีบริษัททางด้านน้ำมัน
โดยการโจมตีนี้ได้รวมหลายๆ เทคนิคเข้าไว้ด้วยกัน ไม่ว่าจะเป็น social engineering, spear-phishing, trojan/backdoor, remote administrative tool (RAT), และอื่นๆ

อ่านอย่างคร่าวๆได้ที่ http://blogs.mcafee.com/corporate/cto/global-energy-industry-hit-in-night-dragon-attacks

แต่แนะนำให้อ่านตัวเต็มที่เป็น White Paper ที่นี่จะละเอียดกว่า
http://www.mcafee.com/us/resources/white-papers/wp-global-energy-cyberattacks-night-dragon.pdf

สิ่งที่ได้จาก white paper นี้
  1. เห็นเทคนิค และการบรรยายขั้นตอนการโจมตีของ Night Dragon
  2. เห็น format ในการเขียนเอกสารทางด้าน security ของทาง McAfee (ผู้ที่ตรวจสอบขั้นตอนการโจมตีของผู้ไม่หวังดี) 
  3. ชื่อบริษัทไม่ได้เปิดเผย ชื่อhackerก็ไม่เปิดเผย รู้แต่ว่าtraceกลับไปได้ว่าอยู่ฉางตู ประเทศจีน
  4. รู้ว่าเวป rootkit.net.cn เป็นแหล่งดาวน์โหลดของเล่นของhackerจีน
  5. เพิ่งรู้ว่า Hacking Exposed มีเวปไซต์ด้วย และถูกซื้อไปเป็นของ McAfee เรียบร้อยแล้ว

URL Redirection Using Google Docs!

พอดีวันนี้มีคนเอาลิงค์มาให้ลองกดเล่น บอกว่ามันเป็นไวรัส ช่วยดูหน่อย

เราก็เป็นพวกชอบกดlinkประเภทนี้ซะด้วย เลยกดเข้าไป

http://docs.google.com/uc?id=0B-L8MjGJeo1xZDZjMWY5MTUtOWRmYy00ZmEzLWEwMDYtYWVlZGZiZWQzN2Vi
URL หน้าตาธรรมดามาก  อย่างกับเป็นเอกสารตัวนึงที่เอาไว้ใน Google Docs

โดยส่วนตัวแล้วก็ใช้google docsเป็นประจำอยู่แล้ว  ก็เลยคิดไม่ออกเลยว่าจะโดนattackได้ยังไง
เพราะว่าบนนั้นก็น่าจะอัพโหลดขึ้นไปได้แต่เอกสารธรรมดา มันจะมีอะไรได้

ปรากฎว่าพอกดไปแล้ว URL เปลี่ยนเองได้ไปสองที
แล้วก็มาปรากฎว่าอยู่หน้าของคนร้ายแล้ว แถมยังมีบังคับให้โหลดไฟล์ exe ไปเรียบร้อย(โดยอัตโนมัติ)




exeไฟล์เนี่ย ไม่ต้องสงสัยเลย คงมีอะไรแน่ๆ

แต่ที่สงสัยคือ  จาก Google Docs มันไปตรงนั้นได้ไงฟะ

ความจริงถ้าจะทดสอบดีๆ คงต้องตั้งproxyแล้วตรวจhttp req/resp แต่เราขี้เกียจเลยของ่ายๆเลยละกัน
ก็เลยใช้ lynx ลองเข้าเวปนั้นดู
ได้ผลแบบนี้ออกมา
มันเป็นไฟล์ SWF (Adobe Flash) อยู่
ไอ้ตัวนี้นี่เองที่เป็นตัวredirectเข้าไปหน้าผู้ร้าย


แล้วก็ว่า... ถ้างั้น Google Docsมันยอมให้host fileประเภทนี้เหรอ
ก็เลยต้องลองอัพโหลดขึ้นไปบน google docs



ปรากฎว่าอัพโหลดขึ้นไปได้จริงๆด้วยแฮะ
แถมให้ดาวน์โหลดลงมาก็ได้
URLของหน้านี้คือ https://docs.google.com/leaf?id=0B1w_20m1HKvIZmJhNzE3YTUtNTZkZS00ZjIyLThkMDctODQ4OGU0MGI3NWRi&hl=en

มีคำว่าleafนำหน้า  เลยออกมาเป็นหน้า page แบบนี้

คราวนี้ลองเอา URL จากตรงปุ่มกดโหลดดูบ้าง
ได้เป็น
https://docs.google.com/uc?id=0B1w_20m1HKvIZmJhNzE3YTUtNTZkZS00ZjIyLThkMDctODQ4OGU0MGI3NWRi&export=download&hl=en

เหมือนจะใช้ได้  แต่พอลองเอาไปใช้จริงๆ ดันกลายเป็นดาวน์โหลดตัว swf ไฟล์นั้นไปซะงั้น มันไม่ได้เล่นไฟล์แฟลชนั้น พอไม่ได้เล่นไฟล์แฟลช โหลดมามันก็เป็นไฟล์ขยะๆไฟล์นึงเอง

อย่างงี้เลยลองเปลี่ยนเอาที่เขียนว่า &export=download ออกจาก URL ดู
เหลือเป็นแค่
https://docs.google.com/uc?id=0B1w_20m1HKvIZmJhNzE3YTUtNTZkZS00ZjIyLThkMDctODQ4OGU0MGI3NWRi&hl=en
แล้วมันก็เวิร์คแฮะ

ใครเข้าไปก็จะเห็นว่ามันเล่นไฟล์แฟลชอันนั้น แล้วก็พาไปเข้าหน้าอันตรายนั่นแล้ว
แล้วถ้าสังเกตดูดีๆ  URL อันล่าสุดเราหน้าตาคล้ายกับอันแรกเลย ฮ่าๆๆ

อ้าว งี้ก็สาวถึงตัวคนโพสต์คนแรกได้สิ
ใส่เป็น leaf? เข้าไป กลายเป็นได้ชื่อคนโพสต์คนร้ายซะงั้น

เอาเป็นว่าแค่นี้ก่อนดีกว่า เดี๋ยวโดนย้อนกลับคืน :D
สรุปวันนี้

  1. Google Docs โฮสต์ไฟล์flash swf ได้
  2. flash swf นำไปสู่หน้าเวปอันตรายได้
  3. ถ้ามีURLของfileจาก google docs อยู่ เอามาทำให้เห็นชื่อคนโพสต์ได้
  4. อย่ากดลิงค์ที่มันแปลกๆ
  5. ถ้ามี exe ให้โหลดก็กดไม่โหลดไป  ถ้าโหลดแล้วก็กดลบทิ้ง ไม่ต้องไปเปิด
** หมายเหตุ
 - ผมลบไฟล์บนgoogle docsผมไปแล้ว  อยากเล่นก็ลองไปทำเองจากต้นฉบับเอานะ :)
 - แจ้งทางgoogleไปแล้วว่าไฟล์ของคนๆนั้นมันอันตราย ให้จัดการลบออกจากระบบด้วย อันนี้ไม่รู้ว่าจะตอบกลับมาว่าไง

2/08/2011

Stored Data in iPhone/iPad App

Sarah Edwards gave a presentation in SchmooCon on how information are stored in several iPhone/iPad applications.
Some stores friend names, emails, geo-locations, or even username and passwords.


From:

ShmooCon 2011: Inside the App: All Your Data are Belong to Me



2/07/2011

METT: Micro Expression Training Tool

ถ้าใครได้ดูซีรีย์เรื่อง Lie To Me แล้วจะรู้ว่า
เรื่องทั้งเรื่องเนี่ย ถูกสร้างขึ้นโดยอ้างอิงงานวิจัยของ Dr. Paul Ekman
นักวิจัย+นักจิตวิทยา ที่ศึกษาการอ่านอารมณ์ความรู้สึกจากหน้าคน (facial expression)
โดยที่เมื่อ คนเราแสดงความรู้สึกออกมา ไม่ว่าจะเป็น ดีใจ เสียใจ โกรธ เกลียด หรืออื่นๆ
มันจะเป็นเพียงเสี้ยววินาที ที่ความรู้สึกนั้นๆจะปรากฎอยู่บนใบหน้า
ซึ่งถ้าเราสามารถสังเกตุเห็น และเข้าใจว่ามันคืออะไรแล้ว  เราจะสามารถรู้อารมณ์ของคนๆนั้นได้
รวมถึง  เราสามารถรู้ได้ด้วยว่า  คนๆนั้นกำลังพูดโกหกอยู่หรือไม่

METT: Micro Expression Training Tool นี่ก็เป็นsoftwareที่ทาง Dr. Ekman ทำออกมา
เพื่อให้ผู้คนที่สนใจทางด้านนี้ได้ฝึกสังเกตุ และ เข้าใจอารมณ์ที่แสดงอยู่บนใบหน้าของคนในช่วงเสี้ยววินาทีนี้
หน้าตาของโปรแกรมเป็นแบบนี้
ซึ่ง ก็จะขึ้นหน้าเรียบๆเฉยๆอย่างงี้มาก่อน
จนกระทั่งเสี้ยววินาทีนึงก็จะแสดง micro expression ออกมาแล้วจึงเปลี่ยนเป็นหน้าเรียบเหมือนเดิม
โดยโปรแกรมนี้จะให้เราฝึกสังเกตเสี้ยววินาทีนั้นแล้วตอบให้ได้ว่าบุคคลที่เห็นแสดงอารมณ์อะไรออกมา

ตัวอย่างเปรียบเทียบหน้าแสดงอารมณ์(ซ้าย) กับหน้าเรียบ(ขวา)

ในโปรแกรมทดสอบนี้มีทั้งให้ทำ pre-test, บทเรียน, แบบฝึกหัด, post-test และก็ advanced test ด้วย
แถมถ้าอันไหนเป็น test ก็จะมีการสรุปคะแนนให้ด้วย






โดยรวมแล้ว
โปรแกรมนี้ก็ดีในด้านที่สอนให้ได้เรียนรู้อารมณ์ต่างๆที่แสดงออกมาบนหน้าของคน และฝึกให้สังเกตุเสี้ยววินาทีที่อารมณ์นั้นเปลี่ยนด้วย  แต่ทว่า เนื่องจากโปรแกรมนี้ออกมานานแล้ว ดังนั้น graphic, animation ต่างๆก็ไม่ค่อยจะดีนัก  รวมถึงจำนวนแบบทดสอบก็เหมือนจะมีราวๆ ห้าสิบแบบทดสอบ ซึ่งก็วนกันไปวนกันมา และรูปแบบอารมณ์ก็มีไม่หลากหลาย มีเพียง 7 อารมณ์ให้เรียนรู้เท่านั้น

ถ้าใครสนใจก็ลองหาโปรแกรมดู
http://face [dot] paulekman [dot] com

Password Hacking Time

Data from Gartner, Forrester, Duo Security, Imperva, LastBit Software
via http://www.businessweek.com/magazine/content/11_06/b4214036460585.htm

Most common passwords:
123456, password, 12345678, qwerty, abc123


In password brute-forcing time (in general)

number of characters 6 chars 7 chars 8 chars 9 chars
lowercase only 10 minutes 4 hours 4 days 4 months
+ uppercase 10 hours 23 days 3 years 178 years
+ numbers + symbols 18 days 4 years 463 years 44,530 years

Chance of users using a common password or simple combination word:
50%

Using Mantra for SQLi + Defacing a website

original post from Mantra website
in ClubHack Magazine, Feb 2011 issue


http://chmag.in/article/feb2011/mantra-%E2%80%93-free-and-open-source-security-framework

I just found it's good and it comes with pictures in every steps of the tutorial.

Below this are just my sum-up what I read on the page.

Summary of the steps (these numbers do not corresponding to numbers in the tutorial):
1. Use Mantra
2. press F9 to open HackBar
3. manually find a possible exploitable page
4. test for SQL injection by adding ' (apostrophe)
5. finding number of columns that SQL command in the page use , by using order by
6. getting more info, such as user name, table names, column names
7. finally get user/password
8. if password is hashed, reverse the hash
9. login via normal webpage
10. find a page for uploading files
11. upload C99 shell
12. find where the page upload the file to
13. run the web shell
14. ........15. exit and clear event log

** there's more information on how effective of each web app backdoors (not just C99) in ClubHack Magazine here http://chmag.in/article/feb2011/effectiveness-antivirus-detecting-web-application-backdoors
or see PDF version. see http://chmag.in/issue/feb2011.pdf

2/06/2011

WebGoat : HTTP Splitting

เพราะว่าทำเองไม่เป็นแหละ เลยไปเปิดเฉลยแล้วมาลอง ฮ่าๆ
ลองแล้วสำเร็จ เลยต้องมาเขียนโน๊ตไว้เตือนตัวเองซะหน่อย

HTTP Splitting

เรื่องของเรื่องก็คือ HTTP เนี่ย เป็น protocol ที่ใช้ส่งข้อมูล โดยใช้ระบบตัวหนังสือส่งเป็นหลัก ทั้งคำสั่งและข้อมูล
และใช้เครื่องหมายขึ้นบรรทัดใหม่เป็นตัวแบ่งคำสั่งต่างๆ

ดังนั้น ถ้าเราสามารถส่งข้อมูลไปที่เวปserver  แล้วเมื่อwebserverส่งข้อมูลนั้นกลับมา คำสั่งที่แทรกอยู่บนนั้นก็จะหลอกเครื่องเป้าหมายให้ทำงานผิดพลาดได้หรือไม่

โจทย์อันนี้เลยเริ่มมาจากว่า ให้เรากรอกข้อมูลซึ่งเป็นภาษาลงไป เพื่อที่จะ redirect user ไปหาหน้าเวปที่ตรงกับภาษานั้น
ยกตัวอย่างเช่น ถ้าเรากรอก en (ภาษาอังกฤษ) ลงไป
หน้า redirect จะส่งผุ้ใช้ไปที่


ก็คือเอาคำว่า en ไปต่อท้าย redirect URL อย่างที่เห็น

มาเริ่มต้นเนื้อหากัน

Stage 1
ด่านแรกของโจทย์นี้คือ
ให้ทดลองส่งคำสั่งพวกนี้ไป เพื่อจำลองว่าเราสามารถแทรกคำสั่งHTTPลงไปในinputได้
ซึ่งในช่อง input เราจะใส่ไอ้นี่ไป
en
Content-Length: 0

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 30
<html>Hacked by anidear</html>

ชุดแรกหมายถึง
en คือเป็นinputปกติ คือเราจะตอบคำถามที่ทาง web application หน้านั้นถามเรา
Content-Length: 0 คือไม่มีข้อความอะไรต่อจากตรงนี้แล้วในrequest header
เพื่อที่จะบอกว่าหมดrequest headerแล้วด้วย
แต่เราดันเว้นว่างบรรทัดนึง แล้วแทรกข้อความresponseต่อเลย
โดยข้อความresponseมีเนื้อหาว่า
HTTP/1.1 200 OK :บอกว่าข้อความresponseนี้ใช้การส่งแบบHTTP version 1.1 และหน้าที่คุณร้องขอมีอยู่จริงและเรากำลังจะส่งข้อมูลให้
Content-Type: text/html :ข้อมูลต่อไปนี้เป็นtext/html
Content-Length: 30 :ข้อความเนื้อหาต่อไปนี้ยาว30ตัวอักษร
แล้วก็ตามด้วยข้อความที่เราอยากจะโชว์ขึ้นที่หน้า user (ซึ่งมีความยาว30ตัวอักษร อยากได้ยาวกว่านี้ก็แก้เลข30เอาเอง)

ปัญหาก็คือว่า การส่งคำสั่งพวกนี้ซึ่งมีเครื่องหมายขึ้นบรรทัดใหม่อยู่ มันไม่สามารถส่งเข้าไปในURLได้
ดังนั้นเราจึงต้องทำการแปลงให้มันอยู่ในรูปแบบของURIซะก่อน
ซึ่งจะใช้อะไรก็ได้ ตั้งแต่ javascript(คำสั่ง encodeURI('string')) หรือว่าเครื่องมืออื่นๆ
ในที่นี้(จากเฉลย) เขาแนะนำให้ใช้จากเวปนี้ http://yehg.net/encoding/ ซึ่งรวมวิธีการencodingไว้หลายแบบด้วย
โดยเมื่อกรอกข้อความที่ต้องการencodeลงไปแล้ว ให้กดปุ่ม encodeURIComponent ก็จะได้ผลออกมา

** สำหรับผู้ใช้ที่เป็นwindows เนื่องจากระบบของwindowsจะมองการขึ้นบรรทัดใหม่เป็น \r\n
ดังนั้นจึงจะต้องแปลงตัวอักษรขึ้นบรรทัดใหม่เป็น %0D%0A ด้วย
แทนที่จะเป็นแค่ \n หรือ %0A อย่างเดียวของบนLinux
ตรงนี้จะเพิ่มเองด้วยมือก็ได้ หรือถ้าใช้หน้านั้นให้เข้า Text FX, Convert, from %0A to %0D%0A

แปลงเป็น URI format แล้วจะได้เป็น
en%0AContent-Length%3A%200%0A%0AHTTP%2F1.1%20200%20OK%0AContent-Type%3A%20text%2Fhtml%0AContent-Length%3A%2030%0A%3Chtml%3EHacked%20by%20anidear%3C%2Fhtml%3E


ก็จะทำให้ได้ผลลัพธ์แบบนี้

ถึงตรงนี้จะเห็นว่าทุกอย่างมันรวมกันไปอยู่บรรทัดเดียว
แต่ว่าเวลาbrowserตีความ ก็จะแปลงข้อความตรงนี้ออกมาตีความ
แล้วก็จะเห็นว่าหน้านี้ไม่ต้องredirectแล้ว เพราะมีข้อความมาเรียบร้อยแล้วอยู่บ้างในตามที่เราได้ใส่เอาไว้ก่อนหน้า

Stage 2

ด่านสองของโจทย์นี้คือการทำ Cache Poisoning
นั่นคือว่า การโจมตีแบบนี้จะไม่ได้ผลอะไรเท่าไหร่ เพราะว่าเราต้องกรอกเองถึงจะได้เห็นเอง
หรือไม่ก็ต้องส่งURLเป็นparameterแบบยาวๆนั่น ก็จะลำบาก เพราะมันง่ายต่อผู้ใช้ในการสังเกตุURLยาวๆนั่น
แต่ cache poisoning เป็นการทำไว้ทีเดียวเลย

โดยอาศัยหลักการที่ว่า Web Cache (หรือ WebProxy) จะเช็คดูในresponse HTTP message ว่าหน้าเวปเวปนี้ถูกแก้ไขครั้งล่าสุดเมื่อไหร่
cache ก็จะเช็คข้อมูลของตัวเองว่าตัวเองมีข้อมูลที่เก่าหรือว่าใหม่แล้ว ถ้าcacheมีข้อมูลเก่าแล้ว (คือLast Modified เป็นวันที่ในอดีต) cache ก็จะเอาข้อมูลใหม่ทับลงไป ในทางตรงกันข้ามถ้าเกิดว่าข้อมูลของ cacheยังใหม่อยู่ cacheก็จะไม่มีการเรียกไปหน้าเวปใหม่ แต่จะใช้ข้อมูลที่ถูกเก็บเอาไว้ ทั้งนี้เพื่อที่จะประหยัดbandwidthการส่งข้อมูลลงไป เพราะไม่ต้องrequestไปหาserverใหม่ทุกครั้งที่ต้องการหน้านั้น(ที่ยังไม่ได้มีการแก้ไข)

ดังนั้น ถ้าเราเขียน Last Modified เป็นวันที่ในอนาคตล่ะ?
cacheก็จะมองว่า ข้อมูลนี้มันไม่เก่าซักทีน่ะสิ ก็จะทำให้ส่งข้อมูลเดิมให้กับผู้ใช้ตลอด
นี่แหละที่จะทำให้การattackด้วย HTTP Splitting นี่ส่งผลได้รุนแรงที่สุด


ดังนั้นเราก็จะเพิ่มบรรทัด Last-Modified: Mon, 1 Jan 2100 11:11:11 GMT
เอาไปศตวรรษหน้าไปเลย ฮ่าๆๆ

requestที่ต้องส่งไปก็จะเป็น
en
Content-Length: 0

HTTP/1.1 200 OK
Content-Type: text/html
Last-Modified: Mon, 1 Jan 2100 11:11:11 GMT
Content-Length: 30
<html>Hacked by anidear</html>

เมื่อแปลงเป็น URI แล้ว จะได้เป็น
en%0AContent-Length%3A%200%0A%0AHTTP%2F1.1%20200%20OK%0AContent-Type%3A%20text%2Fhtml%0ALast-Modified%3A%20Mon%2C%201%20Jan%202100%2011%3A11%3A11%20GMT%0AContent-Length%3A%2030%0A%3Chtml%3EHacked%20by%20anidear%3C%2Fhtml%3E


และแล้วก็จะได้ผลลัพธ์เป็นแบบนี้

และแล้วก็ทำให้ผ่านโจทย์นี้ไปได้ซักที เฮ้อ..

ขอได้รับความขอบคุณจาก
yehg.net ผู้ทำเฉลยดีๆให้ดู
OWASP ผู้สร้างwebgoat
และ Google Chrome สำหรับการดักจับHTTP packets