ใครพอรู้เทคนิคบ้างครับ เรียกชื่อไฟล์เพลงไม่ใช่.wma แต่เป็น play.php แทนเฉยเลย??

เริ่มโดย okgofun, 28 กันยายน 2007, 16:05:16

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

okgofun

ใครพอรู้เทคนิคบ้างครับ เรียกชื่อไฟล์เพลงไม่ใช่.wma แต่เป็น play.php แทนเฉยเลย??

ผมลอง view source เว็บนึงเพื่ออยากรู้ว่าไฟล์เพลง path เป็นยังไง ซึ่งเว็บส่วนใหญ่ก็เรียกชื่อไฟล์ปรกติ

ตรง src value="music/ruk_ter.wma" อะไรทำนองนี้ใช่ใหมครับ หรือกระทั่งไฟล์ flash embed src="gamejump.swf" ส่วนใหญ่ต้องเป็นแบบนี้ใช่ใหมคับ

แต่เว็บนั้นเขา protect โดยการเรียกชื่อไฟล์เป็น embed src="playfile.php?mode=play" หรือกระทั่งโค๊ดใส่เพลง ตรง url เพลงก็ยังเป็น value="playfile.php?mode=play" 

อะไรทำนองนี้ครับ พอเราลองเปิดไฟล์ playfile.php?mode=play หน้านั้นก็จะขึ้นประมาณว่าโดน protect เอาไว้แล้วพอใส่ค่า id=13422 เข้าไป (อ้างอิงจากเพจที่เขาเล่นเพลง ประมาณว่า playmusic.php?id=13422)  ระบบหน้านั้นก็ขึ้นประมาณว่าถูกป้องกันไว้

### คืออยากรู้มากๆเลยครับ เขาทำยังไงหละครับ ให้ไฟล์ playfile.php กลายเป็นไฟล์ flash หรือ wma

แล้วเขามีหลักการป้องกันไฟล์แบบนี้ได้ยังไงบ้างหละครับ ผมว่ามันป้องกันคนรู้ path file ได้ดีมากๆเลย  ??? เพราะขนาดเราเรียกชื่อไฟล์นั้นตรงๆแล้วก็ใส่ค่าตัวแปร id ไปก็แล้วด้วย ระบบก็ยังรู้ว่าไม่ได้เรียกผ่านกล่องเล่นเพลงหรือ flash ????

จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน

kennn

[direct=https://www.strikeprofx.com/th/]StrikeProFx โบรกเกอร์ Forex ฝาก-ถอนรวดเร็ว[/direct]
[direct=https://www.strikeprofx.com/]StrikeProFx Best Forex Broker Fast Deposit&Withdraw[/direct]

payu

โดยหลักการก็คือว่า

- browser เมื่อแปล code html ที่อ่านมา เจอ tag <object> ก็จะ request ไปขอ "src" นั้นจาก server
- server เมื่อได้รับ request จาก client ก็จะไปเรียกโปรแกรม playfile.php + parameter ตามที่ถูกขอ
- โปรแกรม playfile.php ก็จะไปอ่านข้อมูลไฟล์เพลง .wma, .swf ที่ระบุมาใส่ใน stream
- จากนั้นก็ส่งค่า header มาบอก browser ว่า content ที่จะส่งมาเป็น mime type อะไร (wma, swf)
- เสร็จแล้วก็ส่ง stream ของข้อมูลเพลงกลับมาให้ที่ browser

browser ก็จะมองเหมือนว่าได้ัรับข้อมูลมา .. ก็จะจัดการไปเรียก engine ในการทำงาน (ซึ่งขึ้นอยู่กับ mime type ที่ได้รับ) แล้วก็ส่ง stream ให้ engine ทำงาน (โดยอาจจะ cache ไว้ก่อน หรือส่งแบบ streaming เลย)

สรุปก็คือว่า โปรแกรม playfile.php ก็แค่ไปอ่านไฟล์เพลงแล้วส่งกลับมาเป็น stream นั่นเอง
งงมั้ยเอ่ย  ???

[direct=http://www.facebook.com/iipayu]payu on facebook[/direct]

EThaiZone

ลองอ่านนี้ดูละกันครับ
http://www.lunarforums.com/lunarpages_php_mysql/preventing_hotlinking_to_wmv_files-t22829.5.html;wap2=

:)

okgofun

ขอบคุณทุกๆคนมากครับ

แบบนี้ถ้าเราใช้วิธีนี้ก็เยี่มเลยใช่ใหมครับ ประมาณว่าไม่มีใครสามารถเข้าถึงไฟล์เพลงหรือไฟล์ flash เราโดยเรียกตรงๆได้เลย

เป็นการป้องกันที่ดีมากใช่ใหมครับ แบบว่า hack เอา url เพลงไปไม่ได้ว่างั้น ถ้าเรียกผ่าน url โดยตรง
จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน

amaudy


ผมกำลังสงสัยว่ามันเขียน socket หรือ ใช้ Curl ดูดได้หรือเปล่า

ใครได้ลองแล้วเล่าให้ฟังหน่อยนะครับ

จะดูดจริงๆ มันก็ต้องมีวิธีสินะ แต่จะทำยังไงให้คนดูดมันออกแรงเยอะหน่อย

jenovazac


payu

[direct=http://www.facebook.com/iipayu]payu on facebook[/direct]

icez

[direct=http://www.thzhost.com/]THZHost[/direct] SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ

amaudy


icez

จริงๆ ระบบพวกนี้ไม่ต้องไปตั้งใน apache หรอกครับ
เขียน script ธรรมดาก็ได้แล้ว

สำหรับ php:

1. $_SERVER["HTTP_REFERER"] ตรวจสอบค่านี้ ว่ามาจากเว็บเราใช่มั้ย
2. $_SERVER["HTTP_USER_AGENT"] ตรวจสอบค่านี้เหมือนกัน ว่าเป็น windows media player มั้ย (จำไม่ได้แล้วฮะว่ามันขึ้นว่าอะไร ขออภัยด้วย)

ถ้าไม่ใช่ก็ฟ้องตามที่ต้องการ ถ้าใช่ก็สั่ง readfile เอาเลย
[direct=http://www.thzhost.com/]THZHost[/direct] SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ

jenovazac


amaudy

ถ้าเกิดปลอม user agent ล่ะครับ
จะกันยังไง?

อันนี้ผมอยากรู้จริงๆ แต่โดยส่วนตัว ก็ยังไม่ได้ทดลองปลอม user agent แล้วเข้าไปดึงข้อมูลที่เป็น streaming  นะครับ (พวกข้อความ, รูปภาพ เคยปลอม header, user agent ก็ดูดได้หมด lwp, curl ผมใช้ทั้งสองตัวครับ)


icez

ถ้าปลอมได้เหมือนกับที่ media player ส่งไปทั้งหมดก็อ่านได้หมดครับ
ไม่ว่าจะตัวไหนหรือป้องกันแบบไหน ถ้าปลอมได้ชนิดที่เหมือนเป๊ะๆ ก็โดนหมด
[direct=http://www.thzhost.com/]THZHost[/direct] SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ

amaudy

อ้างถึงจาก: icez ใน 29 กันยายน 2007, 14:07:43
ถ้าปลอมได้เหมือนกับที่ media player ส่งไปทั้งหมดก็อ่านได้หมดครับ
ไม่ว่าจะตัวไหนหรือป้องกันแบบไหน ถ้าปลอมได้ชนิดที่เหมือนเป๊ะๆ ก็โดนหมด

โดยทฤษฎี ผมก็คิดอย่างงั้นครับ แต่ปฏิบัตินี่ ยังไม่ได้ลงมือทดลองครับ

เลยไม่สงสัย ทำไม mcot.net ถึงให้ติดตัว de-code ก่อน ถึงจะเข้าไปดูรายการย้อนหลังได้

okgofun

อ่า ได้ความรู้เยอะมากๆเลยครับ เอ? windows media มีชื่อ user agent เป็น windows-media-player ใช่ใหมครับ เอ?

มีคำสั่งอะไรบ้างอะครับ ที่เช็คว่าไฟล์รูปแบบใหนเป็น user agent อะไร? ขอบคุณครับ
จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน

amaudy

อ้างถึงจาก: okgofun ใน 29 กันยายน 2007, 17:21:27
อ่า ได้ความรู้เยอะมากๆเลยครับ เอ? windows media มีชื่อ user agent เป็น windows-media-player ใช่ใหมครับ เอ?

มีเยอะมากครับ เท่าที่เจอนะ ค้นคร่าวๆ ไม่ได้ลงรายละเอียดนะครับ

Windows-Media-Player/7.10.00.3059
NSPlayer/4.1.0.3925
NSPlayer/11.0.5358
NSPlayer/7.10.0.3059
Windows-Media-Player/7.00.00.1441
Windows-Media-Player/10.00.00.3802
NSPlayer/9.0.0.2980_WMFSDK/9.0
Windows-Media-Player/9.00.00.3344
NSPlayer/8.0.0.4487
NSPlayer/10.0.0.3802_WMFSDK/10.0
Windows-Media-Player/10.00.00.4036
Windows-Media-Player/9.00.00.3250
Windows-Media-Player/10.00.00.3704
NSPlayer
NSPlayer/4.1.0.3856
NSPlayer/10.0.0.3646
NSPlayer/10.0.0.3802
NSPlayer/9.0.0.2980
NSPlayer/9.0.0.3250
NSPlayer/9.0.0.3250_WMFSDK/9.0
Windows-Media-Player/11.0.5721.5145
Windows-Media-Player/8.00.00.4477
NSPlayer/10.0.0.3646_WMFSDK/10.0
Windows-Media-Player/11.0.5705.5043

อ้างถึง
มีคำสั่งอะไรบ้างอะครับ ที่เช็คว่าไฟล์รูปแบบใหนเป็น user agent อะไร? ขอบคุณครับ

ไฟล์รูปแบบไหน รูปแบบอะไร? อันนี้ต้องศึกษาเรื่อง MIME-TYPE ครับ
แต่ถ้าอยากรู้ว่า client ที่เรียกเข้ามาเป็นอะไร สำหรับ php ก็

$_SERVER['HTTP_USER_AGENT']


อยากรู้รายละเอียด
เรื่องการปลอม header หาหนังสือเก่าๆของอาจารย์ ทรงเกียรติ ภาวดี ชื่อหนังสือ เขียน cgi ส่ง เพจ อะไรนี่แหละ จำชื่อหนังสือเป๊ะๆไม่ได้ครับ แต่ออกมานานมากแล้ว ของค่ายวิตตี้
อธิบานแนวคิดได้ทะลุปรุโปร่งมาก

ถ้าคิดจะป้องกันโจร เราก็ต้องคิดแบบโจร ทุกอย่างมีสองด้านเสมอครับ

okgofun

อ้างถึงจาก: amaudy ใน 29 กันยายน 2007, 17:51:50
อ้างถึงจาก: okgofun ใน 29 กันยายน 2007, 17:21:27
อ่า ได้ความรู้เยอะมากๆเลยครับ เอ? windows media มีชื่อ user agent เป็น windows-media-player ใช่ใหมครับ เอ?

มีเยอะมากครับ เท่าที่เจอนะ ค้นคร่าวๆ ไม่ได้ลงรายละเอียดนะครับ

Windows-Media-Player/7.10.00.3059
NSPlayer/4.1.0.3925
NSPlayer/11.0.5358
NSPlayer/7.10.0.3059
Windows-Media-Player/7.00.00.1441
Windows-Media-Player/10.00.00.3802
NSPlayer/9.0.0.2980_WMFSDK/9.0
Windows-Media-Player/9.00.00.3344
NSPlayer/8.0.0.4487
NSPlayer/10.0.0.3802_WMFSDK/10.0
Windows-Media-Player/10.00.00.4036
Windows-Media-Player/9.00.00.3250
Windows-Media-Player/10.00.00.3704
NSPlayer
NSPlayer/4.1.0.3856
NSPlayer/10.0.0.3646
NSPlayer/10.0.0.3802
NSPlayer/9.0.0.2980
NSPlayer/9.0.0.3250
NSPlayer/9.0.0.3250_WMFSDK/9.0
Windows-Media-Player/11.0.5721.5145
Windows-Media-Player/8.00.00.4477
NSPlayer/10.0.0.3646_WMFSDK/10.0
Windows-Media-Player/11.0.5705.5043

อ้างถึง
มีคำสั่งอะไรบ้างอะครับ ที่เช็คว่าไฟล์รูปแบบใหนเป็น user agent อะไร? ขอบคุณครับ

ไฟล์รูปแบบไหน รูปแบบอะไร? อันนี้ต้องศึกษาเรื่อง MIME-TYPE ครับ
แต่ถ้าอยากรู้ว่า client ที่เรียกเข้ามาเป็นอะไร สำหรับ php ก็

$_SERVER['HTTP_USER_AGENT']


อยากรู้รายละเอียด
เรื่องการปลอม header หาหนังสือเก่าๆของอาจารย์ ทรงเกียรติ ภาวดี ชื่อหนังสือ เขียน cgi ส่ง เพจ อะไรนี่แหละ จำชื่อหนังสือเป๊ะๆไม่ได้ครับ แต่ออกมานานมากแล้ว ของค่ายวิตตี้
อธิบานแนวคิดได้ทะลุปรุโปร่งมาก

ถ้าคิดจะป้องกันโจร เราก็ต้องคิดแบบโจร ทุกอย่างมีสองด้านเสมอครับ


ขอบคุณมากๆเลยครับ ไว้ผมจะลองหาหนังสือมาศึกษาเพิ่มเติมดูครับ
จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน

EThaiZone

จะเอาป้องกันมากกว่านี้ก็อัพ cookie หรือ session ไปเลย

แล้วจำกัดเวลาด้วยให้มีการหมดอายุ (กรณี session ก็ทำอีกค่าเก็บเวลาเอาไว้)

มีหลายวิธีครับเยอะแยะ

แต่ก็อย่างหลายคนพูด ไม่มีอะไรสมบูรณ์  :-X

icez

กรณีน่าสนใจ... อยู่ที่เว็บฝากไฟล์เหมือนกันครับ

พูดถึง session นี่ จะใช้ป้องกันได้เยอะกว่าที่ว่าอีกครับ
1. เข้าเว็บ song.php?id=111
2. song.php สร้าง session เก็บ id ของเพลง, ip กะเวลาที่เข้าไว้ใน mysql (กำหนดอายุ 1 นาที)
3. song.php เอา session id ที่ได้ไปใส่ใน embed src => play.php?id=111&session=XXX แล้วตั้ง autoplay ไว้ด้วย
4. play.php จับค่า session ไป check ว่า ip / เวลา / id ตรงกันหมดมั้ย ถ้าไม่ตรงก็ไม่ปล่อยแฟ้ม ถ้าตรงก็ปล่อยออกมา

เวลา 1 นาที พอให้ client load อัตโนมัติครับ แต่เกือบจะไม่พอสำหรับคนที่จะสูบ
[direct=http://www.thzhost.com/]THZHost[/direct] SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ