ในบทความนี้เราจะแก้ปัญหาที่ 25 จากเว็บไซต์
ข้อมูลองค์กรโดยเฉพาะอย่างยิ่งสำหรับผู้ที่ต้องการเรียนรู้สิ่งใหม่ ๆ และพัฒนาในด้านใด ๆ ของข้อมูลและความปลอดภัยของคอมพิวเตอร์ ฉันจะเขียนและพูดคุยเกี่ยวกับหมวดหมู่ต่อไปนี้:
- พ.ว.น.;
- การเข้ารหัส (Crypto);
- เทคโนโลยีเครือข่าย (เครือข่าย);
- ย้อนกลับ (วิศวกรรมย้อนกลับ);
- ซูรินาเม (สเตกาโน);
- ค้นหาและใช้ประโยชน์จากช่องโหว่ของเว็บ
นอกจากนี้ ฉันจะแบ่งปันประสบการณ์ของฉันในด้านนิติวิทยาศาสตร์คอมพิวเตอร์ การวิเคราะห์มัลแวร์และเฟิร์มแวร์ การโจมตีเครือข่ายไร้สายและเครือข่ายท้องถิ่น การทดสอบและการเขียนช่องโหว่
เพื่อให้คุณค้นหาข้อมูลเกี่ยวกับบทความ ซอฟต์แวร์ และข้อมูลอื่น ๆ ใหม่ ฉันจึงสร้างขึ้น
ข้อมูลทั้งหมดจัดทำขึ้นเพื่อการศึกษาเท่านั้น ผู้เขียนเอกสารนี้ไม่รับผิดชอบต่อความเสียหายใด ๆ ที่เกิดกับบุคคลใดอันเป็นผลมาจากการใช้ความรู้และวิธีการที่ได้รับจากการศึกษาเอกสารนี้
การแก้ปัญหา otp
เราดำเนินการต่อในส่วนที่สอง ฉันจะบอกทันทีว่ามันยากกว่าอันแรก แต่คราวนี้พวกเขาไม่ได้ให้ซอร์สโค้ดของโปรแกรม อย่าลืมการสนทนาที่นี่ (https://t.me/RalfHackerPublicChat) และที่นี่ (https://t.me/RalfHackerChannel) เริ่มกันเลย.
คลิกที่ไอคอนที่มีลายเซ็น otp เราได้รับที่อยู่และพอร์ตสำหรับเชื่อมต่อ
เราเชื่อมต่อและดูรอบ ๆ บนเซิร์ฟเวอร์
การตั้งค่าสถานะที่เราไม่สามารถอ่านได้คือโปรแกรมและซอร์สโค้ด มาดูที่มากัน
ลองหยิบมันขึ้นมา โปรแกรมใช้รหัสผ่านเป็นอาร์กิวเมนต์
นอกจากนี้ สุ่ม 16 ไบต์จะถูกเก็บไว้ในตัวแปร otp
ไฟล์ที่มีชื่อสุ่มจะถูกสร้างขึ้นในโฟลเดอร์ tmp (8 ไบต์แรกคือ otp) และเขียนแบบสุ่ม 8 ไบต์ (8 ไบต์ที่สองคือ otp)
ด้วยเหตุผลบางอย่าง ค่าของไฟล์ที่สร้างขึ้นจะถูกอ่านและเปรียบเทียบกับรหัสผ่านที่ป้อน
มีช่องโหว่อยู่ที่นี่ ประกอบด้วยการบันทึกหมายเลขที่สร้างขึ้นในไฟล์ระดับกลาง เราสามารถจำกัดขนาดไฟล์ได้ เช่น ให้เป็น 0 แล้วเวลาเขียนและอ่าน ก็จะเอา 0 ไปเทียบกับรหัสผ่าน ทำได้แบบนี้
# ulimit -f 0
ตอนนี้เรามาเรียกใช้โปรแกรมกัน
เราได้รับข้อผิดพลาด ไม่เป็นไร มันสามารถประมวลผลได้โดยใช้ไพทอนตัวเดียวกัน
python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')"
เราได้รับธงและ 100 คะแนนง่าย ๆ ของเรา และเราดำเนินการต่อ: ในบทความถัดไปเราจะพูดถึงเว็บ คุณสามารถเข้าร่วมกับเราได้ที่
ที่มา: will.com