好久沒寫文章了,水一篇。
我們挖掘漏洞有時候發現改參數就導緻未授權跳步驟了。
比如修改密碼 step=1 step=2 step=3 step=4
我們可以直接step=3/4直接修改使用者密碼
比如簽約金融合同等,未認證使用者可以未授權簽約或者是垂直越權如userId=1111111 ->userId=1 管理者賬号
導緻這些問題的一個原因:
$action = $_GET['do'];
$r=$db->query("select role".((int)$action)." from users where id=".((int)$_SESSION['user_id']));
if($row=$r->fetchArray()){
if((int)$row[0]!==1){
die('permission denied');
}else{
doAction($action);
}
}
表結構
role0 text
role1 manager
role2 admin
不能sql注入但是可以
type=1 ->manager
type=2 ->admin
簡單記錄下。