eksploitasi biner setuid sederhana

0

Saya memiliki program setuid yang mendaftarkan file dengan cara ini:

#include <stdlib.h>
#include <stdio.h>
int main(void)
{
        system("ls /challenge/binary/binary1/.passwd");
        return 0;
}

Yang saya butuhkan adalah mendapatkan program untuk mengungkapkan konten file daripada hanya daftar namanya. Jadi saya mencoba membuat alias untuk mengubah perilaku ls dengan cara ini:

alias ls='cat'

tapi tetap saja, itu tidak berhasil. Bisakah Anda mengarahkan saya ke arah yang benar!

Medali
sumber
1
Mengapa tidak mengubah system("lsoleh system("cat? Apakah Anda mencoba mencari cara untuk menyalahgunakan program menggunakan perintah sistem untuk melakukan sesuatu yang seharusnya tidak dilakukan?
M'vy

Jawaban:

3

Alias ​​hanya tinggal di shell yang mendefinisikannya, dan systemmemulai shell baru. Shell itu tidak akan membaca ~/.bashrcatau file lain di mana alias biasanya didefinisikan, baik: hanya shell interaktif yang melakukannya. Beberapa shell, tetapi tidak semua, membaca file lain, tetapi ada cara shell-independen untuk mengeksploitasi ini.

Pencarian perintah Shell mencoba elemen-elemen berikut dalam urutan ini:

  • Alias ​​- tidak.
  • Fungsi - tidak, untuk alasan yang sama.
  • Dibangun - tidak.
  • Perintah di PATH- harus default ini.

Jadi bekerja untuk memastikan bahwa pencarian dari lsdalam $PATHakan muncul dalam catProgram.

Gilles
sumber
0

Ubah lske cat.

lsdaftar direktori, itu tidak menampilkan file. catapakah itu.

LawrenceC
sumber
tidak, itu bukan pertanyaannya! Saya memiliki versi kompilasi dari program setuid, dan saya harus mengubah perilaku suatu program untuk menggunakan cat daripada ls tanpa harus mengubah program setuid
MedAli
2
Sebenarnya, adil untuk ultrasawblade, xe menjawab pertanyaan seperti yang tertulis. Anda tidak menyebutkan tidak memiliki sumber. Memang, dalam pertanyaan yang diajukan Anda memberikan sumber. Anda juga tidak menyebutkan bahwa Anda mencoba meretas program orang lain. Ultrasawblade yang buruk bukan telepati.
JdeBP
2
judulnya cukup jelas!
MedAli