PDA

View Full Version : ขอถามเรื่องการเขียน code ปั่นเวปบอร์ด



windows98SE
20-08-2007, 04:09 AM
ออกตัวก่อนว่า ผมเพิ่ง ศึกษาเรื่องเหล่านี้ ดังนั้นจึงยังมีความรู้ไม่มาก
แต่ ผมว่า แนวความคิดของกระทู้นี้ อาจนำอันตรายให้หลายๆเวป
ที่ใช้ รูปภาพ มาเป็นรหัสในการเช็คก่อนที่จะ โพส comment ต่างๆ

ดังนั้น ขอความกรุณาวิเคราะห์ตามเพื่อการศึกษา หาช่องโหว่ และหาทางป้องกันนะคับ
ห้ามนำไปใช้ในทางที่ทำให้คนอื่นเดือดร้อนเป็นอันขาด

กระทู้นี้ผมจึงไม่อยากถาม เพื่อที่จะเอาคำตอบอย่างเดียว
แต่ผมต้องการ สอนวิธีคิดให้ คนที่เพิ่งเริ่มศึกษาด้วย [ดังนั้น ขออภัย ที่เนื้อความในนี้จะยาวไปหน่อย]

[hide=5]
เกริ่นนำ
:::ทุกอย่าง ต้องเกิดจากแรงจูงใจ:::

เนื่องด้วย ผมเป็นคนทำ plugins ให้บอท openkore
เข้าไปวิ่งตาม Private server ทั้งหลายที่มี npc กันบอท
แล้ววันหนึ่งผมไปเจอะ ข้อความ



เลยคิดว่า เอ๊ะ เค้าทำได้ไง ... ผมก็เลยอยากลองทำให้ได้มั่ง ... และนี่คือแรงจูใจในการตั้งกระทู้นี้ของผม

ขั้นวางแผน
:::แค่ความอยากอย่างเดียวไม่พอ ... เราจะต้องวิเคราะให้เป็นด้วย:::
หลังจาก มีแรงจูงใจแล้ว ผมก็บุก เข้าเวป pramool ครับ
ผมก็เริ่มจากตามเข้าไปในกระทู้นั้น แล้วลองเลือก reply จากนั้นก็ดูเนื้อหา็ส่วนประกอบในหน้าเวปที่เราจะต้องโพส
รวมทั้งวิเคราะถึงสิ่งที่น่าจะี่อยู่ใน code ของ followup.php3

เริ่มจาก save followup.php3 มาเก็บไว้ที่เครื่อง
แกะ code จาก followup.php3 ที่โหลดแล้วก็สร้าง form ขึ้นมาใหม่

จากการดักเวปหลักด้วยโปรแกรม Launch HTTPAnalyzer Stand-alone
แล้วจากที่แกะ src ใน followup.php3 ที่เรา save มา

ทำให้รู้ว่า จุดที่ random ภาพ มาถาม คือที่ link
http://bbs.pramool.com/webboard/checksum/i...=11875535752427 (http://bbs.pramool.com/webboard/checksum/index.php?imgnum=11875535752427)
หากเรา save as.. เป็น .png เราก็จะได้ตัวเลข 4 หลักที่ โดนถาม ... ตอนแรกผมก็คิดว่า ไมมันง่ายแบบนี้
ถ้า sv ส่งเลข imgnum=[เลข 14 หลัก] มา
เราไม่จำเป็นต้องรู้ว่าตัวเลข .png 4 หลักที่ต้องตอบกลับไปนั้นมันคือเลขอะไร
เราก็แค่ส่งตัวเลข imgnum=[เลข 14 หลัก] ที่ได้มา กลับไปเลย

... แต่ มันดันไม่ง่ายอย่างนั้นซิ
เพราะหากเรา refresh หน้าเวปดังกล่าวด้วย imgnum=[เลข 14 หลัก] เดิมแต่เนี้อหาในหน้าเวปดันเปลี่ยนไป
แสดงว่า เลข 4 หลัก ต้องเปลี่ยนไปแน่นอนถ้าเรา save as.. เป็น .png เราก็จะได้ เลข 4 หลักเลขใหม่

ดังนั้นผมเลยลองดักอีก 5 ครั้ง เพื่อทดสอบ สมมุติฐาน ว่าตัวเลข imgnum=[เลข 14 หลัก] ที่ได้
จะเกี่ยวอะไรกับรูปภาพ .png ที่ปรากฏหรือไม่

จากการดัก 5 ครั้ง [เลขที่ได้จากการดัก หากนำเลขนี้ไปแทน หลัง imagenum= ก็จะไม่้ได้เลขเดิม]
11874621141015 8460
11874622639532 4910
11874622987075 1387
11874623500015 8574
11874624542310 1550

จากการ วิเคราะ 7 หลักแรก น่าจะเป็น ส่วนหัวของ file รูป
[หากเราเปิดรูปภาพด้วย text editor ช่วงบรรทัดบน จะเป็นตัวบ่งบอก ชนิดของ file]

ดังนั้น
ตัวเลข 7 หลักแรก จะต้องเป็นส่วนบ่งบอกว่าเป็น file ประเภท .png
และ 7 หลักหลังจะเป็นตัวบอกว่าความเข้มของสีที่ปรากฏจากนั้น
script ที่ sv จะต้องทำการเปลียบเทียบตรงจุดนี้ มาเป็นตัวเลข 4 หลักที่ถูกต้อง
ทำให้ผมนึกถึง script ของ perl ในหารแยกสี


my ($b, $g, $r) = unpack("C1 C1 C1", $var{rawColor});


... แต่โอ้ว นี่ผมต้องเขียนอังกอริทึ่ม แกะ checksum เพื่อแงะเลขในภาพ png รึนี่ ???
[หากจะทำจริงๆ ไปนั่งแงะของ rapidshare จะดีกว่า มั้ยเนี้ย = =''
... แล้วถ้ามีคนแกะได้ แล้วเอาไปประยุก เขียนสคิปยิงบอร์ดต่างๆ โอ้ว...ไม่อยากจะคิดในแง่ร้ายเลย]
เนื่องจากการวิเคาะห์นี้ เป็นหลักที่เป็นไปได้ที่สุดที่ผมคิดและเป็นการยากที่สุดที่ผมจะมานั่งเขียน
อังกอริทึ่ม แกะ checksum เอง และจากการลองคุ้ย google ผ่านๆ 1 วันก็ยังไม่เจอ script สำเร็จรูป
... เลยทำให้เริ่มตัดใจเรื่อง เขียน อังกอริทึ่ม แงะรูป

แต่เอ๊ะ แล้วทำไม มีคนทำได้ ... เค้าทำได้ไง ... มีทางอื่นที่ง่ายกว่า ...
หรือเค้าเขียนอังกอริทึ่มแงะภาพ png ได้ ??

... นี่ล่ะครับ ที่อยากจะมาขอให้แต่ละคนช่วย วิเคราะห์ ต่อ

ขั้นทดลอง

หลังจากแกะ code followup.php3 มาทำ form
ผมว่ามีจุดที่ต้องพึ่ง php หรือ perl ก็ตรง imgnum=[เลข 14 หลัก]
ซึ่งผมไม่เคยเขียน perl ติดต่อกับเวปเลย - -''
ส่วน php ก็เพิ่งจะเรียน ยังถูๆไถๆ

download --> http://upload.siamza.com/download.php?id=70362

link 2 ปล. host เดิม แต่ แกะมาให้ หากโหลดไม่ได้ เปิด link ขึ้นมา แล้วคลิก go ซ้ำอีกทีครับ --->

http://upload.siamza.com/file_http.php?lin...95607458057.zip (http://upload.siamza.com/file_http.php?link=9781495607458057.zip)

จุดปัญหาที่ว่าคือ

ของผม
[code]<tr>

pspn.n
20-08-2007, 09:26 AM
เท่าที่ผมรู้ มีอีกวิธีหนึ่งคือ การทำ OCR

ยังงัยลองหาด้วยคีย์เวิร์ดนี้ ดู "CAPTCHA OCR" นะครับ เป็นอีก IDEA นึง

แล้ว ไฟล์ PHP ที่ upload ให้ ช่วย up อีกที่ได้หรือไม่ครับ ขี้เกลียจลอง Flash 9 (-_-")

ขอบคุณครับ

Zelandiax_old
20-08-2007, 11:11 AM
บอมเว็บบอร์ดมันต้อง Perl only

เพราะง่ายต่อการปลอม header (ปลอมไอพีก็ได้)
ประมาณนั่นแหละ เอื้อกๆ

hyde4fun
29-08-2007, 01:33 AM
ตัวนี้ผมก็ลองเขียนๆ อยู่ครับ เมื่อก่อนจะลองใช้ Image Processing เพราะว่าเลข 4 หลัก นั้น Fix pixel และสี

แต่เขียนไม่สำเร็จ เลยเปลี่ยนใจมา ใช้ Macro แทน ก็สำเร็จไปด้วยดี แต่มันใช้งานลำบากเปิดเอาไว้แล้วทำอย่างอื่นไม่ได้เลย

แต่ตอนนี้ เค้าเปลี่ยน Captcha เป็นอย่างอื่นแล้ว หินมากครับ เลยหยุดตรงเรื่องของ Image Processing ไปก่อน

ส่วนเรื่องค่า Checksum ที่ได้จาก imgnum ใน Url ภาพนั้น เราไม่จำเป็นต้องไปหาทางดึงออกมาหรอกครับ

ใช้วิธี หลอกมันให้เหมือนกับว่าเรากด Reply ครั้งแรกจากบอร์ดเรา เราจะสังเกตได้ว่า พอเรา Reply มาที่หน้า Followup

เราก็ได้ค่า Checksum มาแล้ว ซึ่ง Hidden ไว้ และผมได้ตามรอยพวกที่เค้าสามารถยิง บอร์ดประมูลได้ และได้ Code มาดังนี้ครับ
Html นะครับ เค้าใ้ช้ php เลยดึงมาได้แค่ html (ซึ่งเค้าวาง Code เปิดเพลงไว้ในเวป และ Popup นี้ด้วย Code ทั้งหมดเพื่อยิงไปยัง 3 กระทู้)
็**Hidden Content: Check the thread to see hidden data.**

pornchaispencer
28-09-2007, 09:25 PM
พอมีโค้ด html ที่ใช้ในการ ปั่นโหวดรึเปล่าครับ หรือ เป็นจาวาก็ได้นะครับ

Komkid
06-10-2007, 03:15 PM
ถ้าเปลี่ยนจาก hidden input เป็น session หรือ cookie จะเป็นยังไง
น่าจะป้องกันได้นะครับ

101010
06-10-2007, 03:52 PM
ไม่ทราบว่าชื่อกระทู้ที่ใส่เข้าไปนี้เป็นชื่อหัวข้อกระทู้หรือชื่อหมวดของกระทู้นั้นๆอ่ะครับ

ตรงนี้อ่ะครับ

f.kname.value=&#39;ชื่อกระทู้&#39;;

owenx12
17-10-2007, 10:59 AM
เอาโค้ดตัวเก่า ซึ่งเคยปั้มกระทู้ประมูลมาให้ดูเพื่อนเป็นแนวทางครับ ผมก้ไม่ได้รู้เรื่องอะไรมากหรอกครับ :P
ไปโหลดได้ที่>> http://www.upchill.com/download.php?id=a3a...718c0a0e13a0fb7 (http://www.upchill.com/download.php?id=a3a18ca7335918ee5718c0a0e13a0fb7)

ลิงค์นี้เสียนะครับ ท่านเจ้าของกระทู้ใครจะกดไม่ต้องกดครับ เจ้าของกระทู้มาอัพหรือแก้ไขด้วยครับ มีสมาชิกแจ้งมานะครับ

dnee
20-07-2008, 01:33 PM
ลองใช้ Javascript ดูครับ ตอนนี้กำลังศึกษาเรื่อง มันเข้ารหัสยังไง - -"