程式碼審計—Discuz!7.2/X1 第三方外掛SQL注入
阿新 • • 發佈:2018-12-18
0x00 前言
內容說明:
烏雲編號:146 這個漏洞沒有辦法復現,我找不到這麼早之前的樣本了。所以只好借用烏雲來簡單分析和記錄一下了。還是有一點無奈的。要是有一個專門的練習審計的地方就好了。
0x01 start
這個是最重要的程式碼。
elseif($action == 'edit_mood' && moodid) {
//moodid未初始化,直接代入sql查詢
$check = $db->result_first("SELECT * FROM {$tablepre}moodwall WHERE id='$moodid' AND uid='$discuz_uid '");
if(!$check || !$moodid) {
showmessage('moodwall:moodwall_inc_php_2', 'plugin.php?id=moodwall&action=user_mood');
}
$sql = "SELECT * FROM {$tablepre}moodwall WHERE id='$moodid'";
$query = $db->query($sql);
$moodlist_edit = array();
while($mood_edit = $db->fetch_array ($query)) {
$moodlist_edit[] = $mood_edit;
}
這裡看的很清楚,就是moodid這個變數有問題。可以造成sql注入。