หน้าเปลี่ยนเส้นทาง“ ซ่อนอยู่” บางเว็บไซต์ใช้เมื่อคลิกที่ลิงก์คืออะไร


5

ฉันไม่แน่ใจว่าจะตอบคำถามนี้อย่างไร นานมาแล้วที่ฉันอ่านฟอรัมเกี่ยวกับกฎที่ระบุว่าผู้ใช้ต้องแทนที่httpด้วยhxxpในลิงก์เพื่อป้องกันเซิร์ฟเวอร์ (หรือบางคน) ไม่ให้สอดแนมพวกเขา ฉันสังเกตเห็นว่าบางเว็บไซต์มีหน้า "การเปลี่ยนเส้นทาง" ที่ผู้ใช้ผ่านหลังจากคลิกที่ลิงก์เพื่อนำพวกเขาไปยังเว็บไซต์อื่น สิ่งนี้เกี่ยวกับอะไร?

ฉันเพิ่งใช้ Slack.com และสังเกตเห็นว่ามีลิงก์ไปยังhttps://pr.to/example/เมื่อฉันคลิกที่ลิงก์ฉันถูกพาไปที่เพจระดับกลาง ( https://slack-redirect/link?url=https://pr.to/example/&v=3หรืออะไรทำนองนั้น) จากนั้นก็นำไปที่หน้าสุดท้าย นี่คืออะไร?

ฉันยังสังเกตเห็นว่าเบราว์เซอร์ของฉันมักจะไม่แสดง URL ของหน้าระดับกลางเมื่อฉันวางเมาส์เหนือลิงก์ (แต่บางครั้งมันก็ทำ) ฉันใช้ Firefox เวอร์ชันล่าสุด ข้อบกพร่องด้านความปลอดภัยประเภทนี้ไม่ได้ถูกนำไปยังหน้าที่แตกต่างจากที่ระบุไว้ใน URL หรือไม่


1
hxxpสิ่งที่เป็นปลาชนิดหนึ่งสีแดง นั่นเป็นเพราะผู้ใช้ใหม่ในฟอรัมบางแห่งไม่อนุญาตให้โพสต์ URL สด
Michael Hampton

1
ฉันสร้างส่วนขยายโครเมี่ยมยาแก้ปวดเนื่องจากพฤติกรรมที่ไม่เหมาะสมเหล่านี้ที่ฉันพบว่าน่ารำคาญจริงๆ หย่อนเป็นหนึ่งในที่เลวร้ายที่สุดเนื่องจากเซิร์ฟเวอร์ที่โอเวอร์โหลดของพวกเขาซึ่งมีแนวโน้มที่จะเพิ่มเวลาในการเปิดลิงค์มากกว่า 1 วินาที .. แต่ Google และอื่น ๆ อีกมากมายใช้เทคนิคนี้ส่วนใหญ่เพื่อการวิเคราะห์และการติดตาม
Balthazar

1
ฉันเรียกมันว่า "linkirection" Google และ GMail ทำเช่นนั้น Reddit ดำเนินการตั้งแต่ปี 2559 ในกรณีของ Google มีส่วนขยายของ Chrome เพื่อบล็อกchrome.google.com/webstore/detail/dont-track-me-google/?hl=th
พันเอก Panic

คำตอบ:


5

ลิงก์เหล่านี้กำลังถูกจัดการโดยใช้เทคโนโลยีอื่นและไม่ใช่ HTML ธรรมดา เทคโนโลยีที่ใช้บนไซต์อาจแตกต่างกันอย่างกว้างขวาง, PHP, Javascript, ฯลฯ เจ้าของ / ผู้ดำเนินการของไซต์ได้พยายามทำให้ลิงก์ดูเหมือนว่าเป็นลิงก์ปกติ แต่การทำงานของมันนั้นแตกต่างไปจากเดิมอย่างสิ้นเชิงเนื่องจากสคริปต์พื้นฐาน น่าเสียดายที่ถึงแม้จะใช้ HTML อย่างง่าย แต่ก็ไม่รับประกันว่าข้อความที่คุณเห็นจะเป็นที่ที่ลิงก์จะนำคุณไป

ฟอรัมหลายแห่งมีการเปลี่ยนเส้นทางนี้เป็นการแจ้งเตือนผู้ใช้ว่าพวกเขาอาจคลิกสิ่งที่เป็นอันตรายและอยู่นอกเหนือการควบคุมของผู้ดำเนินการของฟอรัม ผู้ใช้ที่เป็นอันตรายสามารถโพสต์ลิงก์ไปยังไวรัสบนฟอรัมของเว็บไซต์ที่ถูกกฎหมาย ลิงก์อาจดูเหมือนว่าถูกต้อง แต่คำเตือนแบบนี้มีประโยชน์และบอกผู้ใช้ของฟอรัมว่าพวกเขาจะลงเอยที่ใดและมักจะให้โอกาสพวกเขาในการยกเลิกความพยายามที่จะติดตามลิงก์ดังกล่าว

ไซต์อื่น ๆ จะใช้การเปลี่ยนเส้นทางประเภทนี้เป็นโอกาสในการสร้างรายได้โฆษณาหนึ่งบิตสุดท้ายเนื่องจากพวกเขารู้ว่าพวกเขากำลังสูญเสียผู้ชม

โดยรวมแล้วเทคโนโลยีนี้ไม่ได้เลวร้ายหรือเลวร้ายจริงๆมันขึ้นอยู่กับเจ้าของเว็บไซต์และแอปพลิเคชัน / เป้าหมายของพวกเขา

ไม่ใช่ข้อบกพร่องด้านความปลอดภัยจริงๆมันอาจถูกมองว่าเป็นการหลอกลวงหรือขัดจังหวะต่อความคาดหวังในการสืบค้นตามปกติ น่าเสียดายที่ในฐานะผู้ใช้ที่คุณมีการขอความช่วยเหลือน้อยหากคุณรู้ว่ามีเว็บไซต์ที่ใช้งานคุณสามารถปฏิเสธที่จะคลิกลิงก์ภายนอกที่จะสร้างหน้าเปลี่ยนเส้นทางเหล่านี้ คุณสามารถเลือกป้อน URL ด้วยตนเองได้


สิ่งที่ฉันไม่ได้รับคือslack.comหน้าเปลี่ยนเส้นทางมองไม่เห็น ฉันรู้ว่าบางคนอาจมีจุดประสงค์เพื่อพูดว่า "คุณกำลังออกจากไซต์และเราไม่รับผิดชอบต่อความเสียหายใด ๆ " แต่บางคนก็ไม่ทำเช่นนั้น
Celeritas

3
@Celeritas Slack ใช้เพื่อซ่อนหน้าอ้างอิงจากเว็บไซต์ที่คุณกำลังจะเข้าชม ด้วยเหตุนี้ไซต์ปลายทางจึงไม่สามารถดูว่าทีม Slack และช่องของคุณมาจากไหน
Michael Hampton

@MichaelHampton นั่นคือสิ่งที่ฉันพยายามถามเกี่ยวกับการอ้างอิงทำงานอย่างไร ดังนั้นคำขอ HTTP จึงมีส่วนหัวที่ระบุไซต์ที่คุณกำลังใช้งานอยู่? และเพื่อซ่อนสิ่งนี้ (เพราะอาจเป็นข้อมูลที่ละเอียดอ่อน) บางไซต์เปลี่ยนเส้นทางผ่านหน้าตัวกลาง?
Celeritas

@Celeritas: ใช่อีกด้านหนึ่งได้รับคำขอ HTTP โดยระบุ "ผู้อ้างอิง: xyz ... " เพื่อให้หน้าเว็บที่ผู้ใช้คลิกที่ลิงค์ สิ่งนี้จะถูกลดลงด้วยทั้งหมดในระหว่างหน้า นอกจากนี้เพจที่อยู่ระหว่างหน้าเหล่านี้เป็นวิธีเดียวที่เว็บไซต์จะบอกได้ว่ามีการคลิกลิงก์ภายนอกบนหน้าเว็บใดเนื่องจากไม่สามารถเข้าถึงบันทึกการใช้เว็บเซิร์ฟเวอร์ของหน้าภายนอกได้
Ro-ee

@Celeritas โปรดทราบว่ามันเป็นเบราว์เซอร์ที่เพิ่มReferer:ส่วนหัว ดังนั้นในหลักการแล้วมันเป็น euser ที่สามารถเอาเครื่องมือวัดไปซ่อนที่เรามาจาก (และเว็บเซิร์ฟเวอร์หวาดระแวงจะไม่เชื่อในสิ่งที่Referer:ส่วนหัวอ้าง) การเปลี่ยนเส้นทางสองขั้นตอนที่คุณถามเพียงทำให้มั่นใจได้ว่าแม้เบราว์เซอร์ที่ไม่คุ้นเคยจะไม่รั่วไหลไปยังหน้าผู้อ้างอิง "ที่แท้จริง"
Hagen von Eitzen

5

การเปลี่ยนเส้นทางถูกใช้ด้วยเหตุผลหลายประการ

เหตุผลหนึ่งก็คือมันเพิ่มความเป็นส่วนตัว เมื่อคุณติดตามลิงก์เบราว์เซอร์ของคุณจะส่งผู้อ้างอิงซึ่งเป็นไซต์ที่คุณมาจาก ซึ่งหมายความว่าเจ้าของเว็บไซต์ที่คุณจะรู้ว่ามาจากไหน หน้าเปลี่ยนเส้นทางระหว่างปิดบังสิ่งนี้ พูดถึงหน้าที่คุณกำลังดูอยู่ดังนั้น ดังนั้นจะไม่ใช้การเปลี่ยนเส้นทางสำหรับลิงก์ ซึ่งหมายความว่าเมื่อใดก็ตามที่มีการเชื่อมโยงไซต์ภายนอกจาก SO และคุณไปตามลิงก์นั้นเจ้าของไซต์ภายนอกจะรู้อย่างแน่ชัดว่าคุณมาจากเว็บไซต์ของเขาหรือไม่ หากมีการเปลี่ยนเส้นทางในสถานที่บุคคลที่สามจะได้รับรู้ว่าคุณมาจากที่ใดที่หนึ่งใน SO แต่ไม่ได้อยู่ที่ใดอีกต่อไป หากมีการใช้การเปลี่ยนเส้นทาง SE เขาอาจได้รับรู้ว่าคุณมาจากที่ใดที่หนึ่งในเครือข่าย SE ทั้งหมด

เหตุผลอีกประการหนึ่งคือความปลอดภัย บางเว็บไซต์ใช้พารามิเตอร์ GET เพื่อจัดเก็บรหัสเซสชัน (ซึ่งเป็นที่นิยมมากในอดีตที่ผู้ใช้ที่ไม่ได้ใช้คุกกี้เป็นสิ่งที่น่าเป็นห่วงมาก) การทิ้งรหัสเซสชันไปยังบุคคลที่สามเป็นสิ่งที่อันตรายเพราะจะทำให้สามารถแซงบัญชี (ชั่วคราว) ได้ การเปลี่ยนเส้นทางแก้ปัญหานี้โดยไม่รั่วไหล ID เซสชั่นผ่านมัน

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

นอกจากนี้คุณยังสามารถแสดงหน้าข้อมูลในระหว่าง สิ่งนี้สามารถทำได้ด้วยเหตุผลหลายประการ - เพื่อแจ้งให้ผู้ใช้ทราบว่าเขาออกจากเว็บไซต์ของคุณ (และเนื้อหาที่คัดสรรแล้ว) หรือแสดงโฆษณาเพิ่มเติมเมื่อผู้ใช้ออกไปแล้ว

เหตุผลมีมากมายและไม่มีใครเลวเลยทีเดียว

มีหลายเทคนิคที่สามารถใช้บดบังสิ่งนี้ตั้งแต่แรกเห็นจากผู้ใช้

<a href="redirect.php?url=example.org">example.org</a>

โปรดสังเกตว่าในตัวอย่างนี้คุณจะเห็นexample.orgการเชื่อมโยง แต่จริง ๆ redirect.php?url=example.orgแล้วมันไป ในกรณีนี้คุณสามารถเห็นสิ่งนี้บนเมาส์ที่มุมของเบราว์เซอร์ของคุณ

อย่างไรก็ตามคุณสามารถใช้ JS เพื่อปิดบัง:

<a href="#" onclick="javascript:window.location='redirect.php?url=example.org'">example.org</a>

ที่นี่ลิงค์อาศัย JavaScript ที่เปิดใช้งานในเบราว์เซอร์ของคุณและใช้เพื่อนำคุณไปยังตำแหน่ง (บดบัง) ไม่สามารถเห็นเมาส์นี้ได้ แต่โดยการตรวจสอบแหล่งที่มาของหน้า

มีวิธีที่ดีกว่าในการปิดบังสิ่งนี้ด้วย JS ที่หายากขึ้นเรื่อย ๆ

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


3

ฉันคิดว่าคุณกำลังผสมหลายสิ่งเข้าด้วยกัน

  1. สิ่งที่คุณเห็นว่าเป็นลิงก์ในเว็บไซต์เป็นเพียงข้อความ มันไม่จำเป็นต้องเกี่ยวข้องกับการที่ลิงค์จะไป ตัวอย่าง: ลิงก์สามารถอ่าน "เห็นสิ่งนี้บน youtube" แต่ลิงก์ไปยัง "hacker.ru"
  2. สิ่งที่คุณเห็นเมื่อคุณวางเมาส์ไว้เหนือคือ URL จริงที่จะถูกดำเนินการ เมื่อคุณคลิกนี่คือสิ่งที่เบราว์เซอร์ของคุณส่ง
  3. อย่างไรก็ตาม URL นั้นอาจเป็นหน้า HTML แบบง่ายหรือหน้า HTML ที่ส่งต่อไปยังหน้า HTML อื่น ๆ โดยอัตโนมัติหรือสามารถประมวลผลโดยเซิร์ฟเวอร์และทำให้สิ่งต่าง ๆ เกิดขึ้นมากมายเช่นเริ่มการดาวน์โหลดหรือไป ไปยัง URL อื่น
  4. แต่ละหน้าที่โหลดด้วยวิธีนี้สามารถทำการเปลี่ยนเส้นทางซ้ำจนกว่าคุณ (หวังว่า) จะได้รับสิ่งที่ปรากฏขึ้นในที่สุด

แต่ละเซิร์ฟเวอร์ในเครือข่ายจะได้รับข้อมูลพื้นฐานเกี่ยวกับคุณ ขึ้นอยู่กับสิ่งที่เบราว์เซอร์ของคุณอนุญาตให้ดู โดยทั่วไปแล้วสิ่งนี้รวมถึงประเภทและเวอร์ชั่นของระบบปฏิบัติการของคุณเบราว์เซอร์และเวอร์ชันของคุณและรหัสผู้ใช้ของคุณตำแหน่งโดยประมาณตัวระบุโฆษณาของคุณและอื่น ๆ ทุกวันนี้เบราว์เซอร์ส่วนใหญ่อนุญาตให้คุณ จำกัด เบราว์เซอร์และเวอร์ชันระบบปฏิบัติการเท่านั้น

ฉันไม่เคยได้ยินความคิด 'hxxp' และฉันสงสัยว่ามันเป็นเรื่องจริงหรือถ้าเป็นเช่นนั้น ฉันคิดว่านี่เป็นเทพนิยาย แต่บางทีคนอื่นก็สามารถสอนเราได้


คุณเข้าใจคำถามทั้งหมดผิดและคิดว่ามันง่ายกว่าที่คิด
Celeritas

ฉันพยายามที่จะแสดงความคิดเห็นที่สร้างสรรค์มากขึ้น แต่ดูเหมือนว่าคุณเข้าใจผิดอย่างมาก ตัวอย่างเช่นคุณหมายถึงหน้า HTML หน้าเว็บที่ไม่มี JavaScript -1
Celeritas

เกือบทุกเพจที่คุณดูในเบราว์เซอร์จะใช้ HTML แต่สิ่งที่ GP พูดจริง ๆ คือ "หน้า HTML แบบง่าย" ซึ่งฉันใช้เพื่อหมายถึงหน้าสแตติกที่ไม่ได้ส่งต่อคุณโดยอัตโนมัติในที่อื่น
Xiong Chiamiov

Re: hxxp เป็นวิธีสำหรับผู้ใช้ที่ไม่ได้รับอนุญาตให้โพสต์ลิงก์ (โดยปกติเนื่องจากผู้ให้บริการไซต์พยายามลดสแปม) เพื่อให้ผู้อ่านยังคง URL ความคาดหวังคือผู้ใช้รายอื่นจะคัดลอกลิงก์และเปลี่ยน hxxp เป็น http เพื่อให้ถูกต้อง
Xiong Chiamiov

3

hxxp://ลิงก์พยายามป้องกัน URL ไม่ให้รับรู้เป็นลิงก์ เนื่องจากนั่นไม่ใช่โปรโตคอลจริงผู้ติดตามลิงก์อัตโนมัติเช่นเครื่องมือค้นหาจะไม่รู้จักลิงก์ดังกล่าวเป็นลิงก์ สิ่งนี้สามารถช่วยในเรื่องความเป็นส่วนตัว (ถ้ามีคนไม่ต้องการให้เครื่องมือค้นหารู้ว่าพวกเขากำลังเชื่อมโยงไปยังบางสิ่งจากที่หนึ่ง) ที่สำคัญมันบังคับให้ผู้ใช้คัดลอก / วางและปรับ URL ในแถบที่อยู่ด้วยตนเอง เมื่อผู้ใช้นำทางด้วยวิธีนี้เบราว์เซอร์จะไม่ให้บริการRefererซึ่งจะระบุตำแหน่งที่ผู้ใช้คลิกที่ลิงก์จากนั้นเว็บไซต์เป้าหมายจะไม่ทราบว่าผู้เข้าชมพบหน้าปลายทางอย่างไร นอกจากนี้ลิงก์ดังกล่าวยังหยุดไม่ให้ผู้ใช้คลิกไปยังสิ่งที่เป็นอันตรายโดยไม่ตั้งใจ

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

หากเป้าหมายของลิงก์ไม่แสดงปลายทางจริงเมื่อคุณโฮเวอร์เหนือกว่าการนำทางจะดำเนินการโดย JavaScript ไม่ใช่hrefแอตทริบิวต์ใน<a>องค์ประกอบ พิจารณาเอกสาร HTML นี้ตัวอย่างเช่น:

<html><head><title>Sketchy Site</title></head><body>
<a href="#" onclick="window.location.href = 'http://superuser.com';">Totally Legit Link</a>
</body></html>

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.