1. 程式人生 > >【安全牛學習筆記】Web開發中的涉及到的權限問題

【安全牛學習筆記】Web開發中的涉及到的權限問題

信息安全 web security+

Web開發中的涉及到的權限問題

1.常見的觸發場景

2.漏洞原理

3.漏洞危害

4.如何避免&修復漏洞

---------------------------------------------------------------------------------

www-data@w:~/controller$ vim missionController.class.php

<?php

class missionController extends baseController{

public $var;

public function __construct(){

parent::__construct();

if($this->loged){

return;

}else{

header(‘Location: /index.php‘);

exit();

}

}

public function feedAction(){

$missionModel = new missionModel();

$feeds = $missionModel->get();

$url = ‘/index.php?c=mission&a=feed‘;

$username = $this->username;

require(‘tpl/feed.tpl‘);

}

public function feedApiAction(){

//permission check

$id = request(‘id‘);

$sid = request(‘sessionid‘);

$userModel = new userModel();

$userInfo = $userModel->getUserInfo($id,$sid);

$role = $userInfo[‘role‘];

$feeds = array();

$callback = request(‘callback‘);

if($role == 1){

$missionModel = new missionModel();

$feeds = $missionModel->getMost($this->id);

$feeds = json_encode(array(‘email‘=>$this->username,‘count‘=>$feeds[0]));

header("Content-Type: application/json");

echo ‘ ‘.$callback.‘(‘.$feeds.‘)‘;

}else{

echo $callback.‘(‘.json_encode($feeds).‘)‘;

}

}

public function missionAddAction(){

$referer = $_SERVER[‘HTTP_REFERER‘];

$hostname = parse_url($referer,PHP_URL_HOST);

if($hostname !== ‘paper.com‘ && $hostname !== ‘csrf.com‘){

die(‘csrf‘);

}

$missionModel = new missionModel();

$missionUrl = request(‘missionUrl‘);

$missionContent = request(‘missionContent‘);

$missionModel->add($this->id,$this->username,$missionUrl,$missionContent);

$count = 1;

if($count > 0){

$this->json(array(‘result‘=>0,‘message‘=>‘add mission ok‘));

}else{

$this->json(array(‘result‘=>1,‘message‘=>‘add mission wrong‘));

}

}

public function deleteAction(){

$missionId = request(‘missionId‘);

$missionModel = new missionModel();

$missionModel->delete($missionId,$this->id);

header(‘Location: /index.php?c=mission&a=feed‘);

}

public function testDeleteAction(){

echo ‘testDeleteAction‘;

}

public function evalAction(){

$param = request(‘param‘);

$a = 0;

eval("\$a = $param;");

echo $a;

}

public function preg_replaceAction(){

$param = request(‘param‘);

$result = preg_replace("/(.*)/e",‘$var = \‘\\1\‘;‘,$param);

echo $result;

}

public function add(){

$this->id;

}

}

---------------------------------------------------------------------------------

[missionmodel.class.php]

<?php

class missionModel extends baseModel{

public function __construct(){

parent::__construct();

}

public function get(){

$sql = ‘select id,username,url,content,time from mission order by id desc‘;

$db_prepare = $this->conn->prepare($sql);

$db_prepare->execute(array());

$result = $db_prepare->fetchAll();

return $result;

}

public function getMost($uid){

$sql = ‘select count(*) from mission where uid=?‘;

$db_prepare = $this->conn->prepare($sql);

$db_prepare->execute(array($uid));

$result = $db_prepare->fetch();

return $result;

}

public function add($uid,$username,$missionUrl,$missionContent){

$sql = ‘insert into mission(uid,username,url,content,time) values(?,?,?,?,?)‘;

$db_prepare = $this->conn->prepare($sql);

$time = unixTime();

$db_prepare->execute(array($uid,$username,$missionUrl,$missionContent,$time));

return ;

}

public function delete($id,$uid){

$sql = ‘delete from mission where id=? and uid=?‘;

$db_prepare = $this->conn->prepare($sql);

$db_prepare->execute(array($id,$uid));

return;

}

}

---------------------------------------------------------------------------------

漏洞原理

1.垂直越權

2.水平越權

漏洞危害:

獲取敏感數據,而已詆毀其他用戶,訪問後臺功能進後臺上傳文件,獲取服務器權限等。

漏洞修復:

每一個controller及action中都嚴格檢查權限。

開發建議:

是否登錄

是否存在CSRF

是否有權限進行某項操作....

執行操作

該筆記為安全牛課堂學員筆記,想看此課程或者信息安全類幹貨可以移步到安全牛課堂

Security+認證為什麽是互聯網+時代最火爆的認證?


牛妹先給大家介紹一下Security+


Security+ 認證是一種中立第三方認證,其發證機構為美國計算機行業協會CompTIA ;是和CISSP、ITIL 等共同包含在內的國際 IT 業 10 大熱門認證之一,和CISSP偏重信息安全管理相比,Security+ 認證更偏重信息安全技術和操作。

通過該認證證明了您具備網絡安全,合規性和操作安全,威脅和漏洞,應用程序、數據和主機安全,訪問控制和身份管理以及加密技術等方面的能力。因其考試難度不易,含金量較高,目前已被全球企業和安全專業人士所普遍采納。

Security+認證如此火爆的原因?

原因一:在所有信息安全認證當中,偏重信息安全技術的認證是空白的, Security+認證正好可以彌補信息安全技術領域的空白 。

目前行業內受認可的信息安全認證主要有CISP和CISSP,但是無論CISP還是CISSP都是偏重信息安全管理的,技術知識講的寬泛且淺顯,考試都是一帶而過。而且CISSP要求持證人員的信息安全工作經驗都要5年以上,CISP也要求大專學歷4年以上工作經驗,這些要求無疑把有能力且上進的年輕人的持證之路堵住。在現實社會中,無論是找工作還是升職加薪,或是投標時候報人員,認證都是必不可少的,這給年輕人帶來了很多不公平。而Security+的出現可以掃清這些年輕人職業發展中的障礙,由於Security+偏重信息安全技術,所以對工作經驗沒有特別的要求。只要你有IT相關背景,追求進步就可以學習和考試。

原因二: IT運維人員工作與翻身的利器。

在銀行、證券、保險、信息通訊等行業,IT運維人員非常多,IT運維涉及的工作面也非常廣。是一個集網絡、系統、安全、應用架構、存儲為一體的綜合性技術崗。雖然沒有程序猿們“生當做光棍,死亦寫代碼”的悲壯,但也有著“鋤禾日當午,不如運維苦“的感慨。天天對著電腦和機器,時間長了難免有對於職業發展的迷茫和困惑。Security+國際認證的出現可以讓有追求的IT運維人員學習網絡安全知識,掌握網絡安全實踐。職業發展朝著網絡安全的方向發展,解決國內信息安全人才的匱乏問題。另外,即使不轉型,要做好運維工作,學習安全知識取得安全認證也是必不可少的。

原因三:接地氣、國際範兒、考試方便、費用適中!

CompTIA作為全球ICT領域最具影響力的全球領先機構,在信息安全人才認證方面是專業、公平、公正的。Security+認證偏重操作且和一線工程師的日常工作息息相關。適合銀行、證券、保險、互聯網公司等IT相關人員學習。作為國際認證在全球147個國家受到廣泛的認可。

在目前的信息安全大潮之下,人才是信息安全發展的關鍵。而目前國內的信息安全人才是非常匱乏的,相信Security+認證一定會成為最火爆的信息安全認證。

本文出自 “11662938” 博客,請務必保留此出處http://11672938.blog.51cto.com/11662938/1975384

【安全牛學習筆記】Web開發中的涉及到的權限問題