แก้งานด้วย pwnable.kr 25 - otp ลินุกซ์จำกัดขนาดไฟล์

แก้งานด้วย pwnable.kr 25 - otp ลินุกซ์จำกัดขนาดไฟล์
ในบทความนี้เราจะแก้ปัญหาที่ 25 จากเว็บไซต์ pwnable.kr.

ข้อมูลองค์กรโดยเฉพาะอย่างยิ่งสำหรับผู้ที่ต้องการเรียนรู้สิ่งใหม่ ๆ และพัฒนาในด้านใด ๆ ของข้อมูลและความปลอดภัยของคอมพิวเตอร์ ฉันจะเขียนและพูดคุยเกี่ยวกับหมวดหมู่ต่อไปนี้:

  • พ.ว.น.;
  • การเข้ารหัส (Crypto);
  • เทคโนโลยีเครือข่าย (เครือข่าย);
  • ย้อนกลับ (วิศวกรรมย้อนกลับ);
  • ซูรินาเม (สเตกาโน);
  • ค้นหาและใช้ประโยชน์จากช่องโหว่ของเว็บ

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

เพื่อให้คุณค้นหาข้อมูลเกี่ยวกับบทความ ซอฟต์แวร์ และข้อมูลอื่น ๆ ใหม่ ฉันจึงสร้างขึ้น ช่องในโทรเลข и กลุ่มเพื่อหารือเกี่ยวกับปัญหาใด ๆ ในพื้นที่ของ IIKB คำขอส่วนตัว คำถาม ข้อเสนอแนะ และข้อเสนอแนะของคุณ ฉันจะดูและตอบกลับทุกคน.

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

การแก้ปัญหา otp

เราดำเนินการต่อในส่วนที่สอง ฉันจะบอกทันทีว่ามันยากกว่าอันแรก แต่คราวนี้พวกเขาไม่ได้ให้ซอร์สโค้ดของโปรแกรม อย่าลืมการสนทนาที่นี่ (https://t.me/RalfHackerPublicChat) และที่นี่ (https://t.me/RalfHackerChannel) เริ่มกันเลย.

คลิกที่ไอคอนที่มีลายเซ็น otp เราได้รับที่อยู่และพอร์ตสำหรับเชื่อมต่อ

แก้งานด้วย pwnable.kr 25 - otp ลินุกซ์จำกัดขนาดไฟล์

เราเชื่อมต่อและดูรอบ ๆ บนเซิร์ฟเวอร์

แก้งานด้วย pwnable.kr 25 - otp ลินุกซ์จำกัดขนาดไฟล์

การตั้งค่าสถานะที่เราไม่สามารถอ่านได้คือโปรแกรมและซอร์สโค้ด มาดูที่มากัน

แก้งานด้วย pwnable.kr 25 - otp ลินุกซ์จำกัดขนาดไฟล์

ลองหยิบมันขึ้นมา โปรแกรมใช้รหัสผ่านเป็นอาร์กิวเมนต์

แก้งานด้วย pwnable.kr 25 - otp ลินุกซ์จำกัดขนาดไฟล์

นอกจากนี้ สุ่ม 16 ไบต์จะถูกเก็บไว้ในตัวแปร otp

แก้งานด้วย pwnable.kr 25 - otp ลินุกซ์จำกัดขนาดไฟล์

ไฟล์ที่มีชื่อสุ่มจะถูกสร้างขึ้นในโฟลเดอร์ tmp (8 ไบต์แรกคือ otp) และเขียนแบบสุ่ม 8 ไบต์ (8 ไบต์ที่สองคือ otp)

แก้งานด้วย pwnable.kr 25 - otp ลินุกซ์จำกัดขนาดไฟล์

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

แก้งานด้วย pwnable.kr 25 - otp ลินุกซ์จำกัดขนาดไฟล์

มีช่องโหว่อยู่ที่นี่ ประกอบด้วยการบันทึกหมายเลขที่สร้างขึ้นในไฟล์ระดับกลาง เราสามารถจำกัดขนาดไฟล์ได้ เช่น ให้เป็น 0 แล้วเวลาเขียนและอ่าน ก็จะเอา 0 ไปเทียบกับรหัสผ่าน ทำได้แบบนี้

# ulimit -f 0

แก้งานด้วย pwnable.kr 25 - otp ลินุกซ์จำกัดขนาดไฟล์

ตอนนี้เรามาเรียกใช้โปรแกรมกัน

แก้งานด้วย pwnable.kr 25 - otp ลินุกซ์จำกัดขนาดไฟล์

เราได้รับข้อผิดพลาด ไม่เป็นไร มันสามารถประมวลผลได้โดยใช้ไพทอนตัวเดียวกัน

python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')" 

แก้งานด้วย pwnable.kr 25 - otp ลินุกซ์จำกัดขนาดไฟล์

เราได้รับธงและ 100 คะแนนง่าย ๆ ของเรา และเราดำเนินการต่อ: ในบทความถัดไปเราจะพูดถึงเว็บ คุณสามารถเข้าร่วมกับเราได้ที่ Telegram.

ที่มา: will.com

เพิ่มความคิดเห็น