
使用Node.js、Express和MySQL構建REST API
這個漏洞價值肯定是廣大師傅最關心的問題,我這邊大致統計了一下,我這邊挖了有1w左右,下表是每個漏洞提交到不同平臺價錢個數統計,可以看到100塊和50塊還是比較多的。所以算是低危漏洞。當然也有幾個給了高危但是比較少。
不了解之前這個漏洞挖掘方法的白帽師傅可以看看我之前寫的這篇文章:https://www.freebuf.com/articles/web/360331.html
有很多師傅看了我的分享之后挖到了眾測或src的相關漏洞,也有師傅催著我新的思路,但是一直沒啥新的思路直到最近跟幾位師傅探討,重新翻看api文檔時發現了新的思路。
之前的思路主要是圍繞著前端調用了高德、騰訊、百度地圖的key,而這個key是需要自己去這三家注冊開發者賬號申請完之后會獲取到key,然后給自己的業務進行使用。在正常網站管理員在默認配置的情況下這樣配置是存在問題的,攻擊者前端抓包獲取到key值,利用官方給的api就可以給自己的業務使用,或者惡意消耗key值導致達到key當日使用上限,影響正常用戶使用。后來在大家伙的挖掘下很多網站都按照官方說明配置域名白名單等限制消除了這個問題。并且高德地圖jsapi進行了更新現在除了需要key值以外,增加了jscode驗證。百度和騰訊地圖目前還沒變化,所以大家按照以前的方法對使用百度和騰訊地圖的api的業務可以照常挖掘。這次重心主要在之前沒有研究出來的google api調用payload和新的高德js api利用的挖掘上。那我們如何在高德地圖存在jscode的情況下進行挖掘呢。
(1)先看文檔,高德地圖js api升級為2.0之后,在需要key的基礎上增加了一個jscode密鑰,兩者相結合才能正確的調用api接口,安全的配置是增加一個nginx做反向代理:
(2)配置錯誤的情況,部分網站或小程序為了開發方便他并不會用上文的nginx反向代理的方式,而是直接使用明文設置,導致我們任然可以在前端同時獲得key和jscode:
(3)案例一:web應用場景
普通使用地圖api的網站怎么找,詳見我上篇文章:傳送門
(4)案例2:微信小程序場景
這是本次的重點在日常測試過程中我發現小程序采用這種錯誤配置的方案比較多,所以師傅們可以把挖掘重點又之前的web轉到小程序上,鑒于有的師傅平時小程序挖的比較少,我詳細介紹下如何最簡單的在微信小程序挖掘這個漏洞。
然后當你功能都點過一遍后,在狀態按鈕旁邊搜索jscode和key點擊下方看詳細信息即可找到key和jscode,漏洞驗證仍然可以使用上方payload進行漏洞驗證
google地圖api漏洞利用算是上一篇留的一個坑最早研究高德、百度、騰訊的時候發現google也有key值但是一直沒找到能驗證可以調用成功的payload,這次研究出來了在這里補充一下:
(1)payload1:https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=此處填寫key值
(2)payload2:https://maps.googleapis.com/maps/api/staticmap?center=40.714%2c%20-73.998&zoom=12&size=400×400&key=此處填寫key值
1.其實各位師傅們通過上述可以看出,其實地圖api說白了也是前端漏洞的一種,我們可以使用burp的hae插件進行被動標記,等我們把網站其它漏洞測得差不多的時候回頭來看history也許有意外發現:
(1)進入burp BApp Store下載hae插件:
(2)點擊添加
(3)增加如下規則:Regex:(webapi\.amap\.com|apis\.map\.qq\.com|api\.map\.baidu\.com|map\.qq\.com|restapi\.amap\.com)
(4)效果如下:
該文章僅用于安全技術分享,請勿利用文章內的相關技術從事非法測試,由于傳播、利用此文所提供的信息而造成的任何直接或者間接的后果及損失,均由使用者本人負責。文章作者不為此承擔任何責任
現在這個jscode類型的漏洞雖然沒有被擼過一遍,根據fofa和hunter搜索來看存在這個問題的web還是比較少的,主要還是小程序會多一點,師傅們在挖的時候也還是放平心態,挖到了src不給過不要氣餒。大家可以在挖 眾測的時候多一種思路就行了。之前地圖key剛發出來的之后,好多src都被挖了一遍,并且后來都直接說明不會再收地圖api了,所以即使是新的思路也有可能以同樣的原因不過洞。
寫這篇文章的目的不僅是給白帽師傅們挖洞提供一些思路,并且也給甲方及網站技術負責人提供些許安全建議,當引用第三方組件的時候需要進行安全配置及對功能進行及時更新,而不是只關注自己的業務安全,最終導致業務被攻破的可能不是自己的問題,而是第三方組件的問題。永遠記住,在你看不到的地方,黑客永遠盯著你。