ฉันพบช่องโหว่การฉีดคำสั่งใน Linux ระบบไม่อนุญาตให้มีความหมายของอักขระช่องว่าง
คำสั่งดังต่อไปนี้ใช้งานได้:
;ls
แต่ฉันต้องการที่จะให้คำสั่งด้วยช่องว่างเช่น:
;ls -l
เนื่องจากไม่อนุญาตช่องว่างจึงไม่ทำงาน ฉันลองด้วยตัวเลือกหลายอย่างเช่น Hexa สำหรับช่องว่าง, ฐานแปด, ใช้ / NULL ตัวอักษร / a, / t, ฯลฯ แต่ไม่มีอะไรทำงาน
โดยสรุปมีความเป็นไปได้ที่จะพิมพ์คำสั่งเชลล์หลายคำสั่งโดยไม่มีช่องว่างใน bash shell หรือไม่?
รายละเอียดเพิ่มเติมนี่คือ webapp ที่พูดคุยกับลีนุกซ์โดยตรง สิ่งที่ฉันเคยป้อนใน webapps - มันจะสะท้อนให้เห็นในพรอมต์คำสั่ง Linux ถ้าฉันเข้า
;ls -a (it does not work due to space)
;ls;ifconfig; (it works and shows both commands)
คุณทำให้เรามีน้อยมากที่จะไป เป็นการฉีดผ่านเว็บแอปพลิเคชันหรือไม่ การลบช่องว่างคืออะไร
—
Neil Smithline
ดูเหมือนว่าคำถาม superuser เพราะเป็นคำถามเกี่ยวกับทุบตี
—
schroeder