較近滲透測(cè)試工作比較多沒有空閑的時(shí)間來寫文章,今天由我們Sine安全的滲透主管來普及一下java的安全測(cè)試基礎(chǔ),很多客戶想要了解具體js的調(diào)用漏洞或提交playload的過程以及是如何拿到較高權(quán)限和繞過登錄等等執(zhí)行命令漏洞之類的安全檢測(cè)方法。
4.4.1.1. 顯式原型和隱式原型
Java的原型分為顯式原型(explicit prototype property)和隱式原型(implicit prototype link)。
其中顯式原型指prototype,是函數(shù)的一個(gè)屬性,這個(gè)屬性是一個(gè)指針,指向一個(gè)對(duì)象,顯示修改對(duì)象的原型的屬性,只有函數(shù)才有該屬性。
隱式原型指Java中任意對(duì)象都有的內(nèi)置屬性prototype。在ES5之前沒有標(biāo)準(zhǔn)的方法訪問這個(gè)內(nèi)置屬性,但是大多數(shù)瀏覽器都支持通過 __proto__ 來訪問。ES5中有了對(duì)于這個(gè)內(nèi)置屬性標(biāo)準(zhǔn)的Get方法 Object.getPrototypeOf() 。
隱式原型指向創(chuàng)建這個(gè)對(duì)象的函數(shù)(constructor)的prototype, __proto__ 指向的是當(dāng)前對(duì)象的原型對(duì)象,而prototype指向的,是以當(dāng)前函數(shù)作為構(gòu)造函數(shù)構(gòu)造出來的對(duì)象的原型對(duì)象。
顯式原型的作用用來實(shí)現(xiàn)基于原型的繼承與屬性的共享。隱式原型的用于構(gòu)成原型鏈,同樣用于實(shí)現(xiàn)基于原型的繼承。舉個(gè)例子,當(dāng)我們?cè)L問obj這個(gè)對(duì)象中的x屬性時(shí),如果在obj中找不到,那么就會(huì)沿著 __proto__ 依次查找。
Note: Object.prototype 這個(gè)對(duì)象是個(gè)例外,它的__proto__值為null
4.4.1.2. new 的過程
var Person = function(){};
var p = new Person();
new的過程拆分成以下三步:– var p={}; 初始化一個(gè)對(duì)象p – p.__proto__ = Person.prototype; – Person.call(p); 構(gòu)造p,也可以稱之為初始化p
關(guān)鍵在于第二步,我們來證明一下:
var Person = function(){};
var p = new Person();
alert(p.__proto__ === Person.prototype);
這段代碼會(huì)返回true。說明我們步驟2是正確的。
4.4.1.3. 示例
p是一個(gè)引用指向Person的對(duì)象。我們?cè)赑erson的原型上定義了一個(gè)sayName方法和age屬性,當(dāng)我們執(zhí)行p.age時(shí),會(huì)先在this的內(nèi)部查找(也就是構(gòu)造函數(shù)內(nèi)部),如果沒有找到然后再沿著原型鏈向上追溯。
這里的向上追溯是怎么向上的呢?這里就要使用 __proto__ 屬性來鏈接到原型(也就是Person.prototype)進(jìn)行查找。較終在原型上找到了age屬性。
4.4.2. 沙箱逃逸
4.4.3. 反序列化
4.4.3.1. 簡(jiǎn)介
Java本身并沒有反序列化的實(shí)現(xiàn),但是一些庫(kù)如node-serialize、serialize-to-js等支持了反序列化功能。這些庫(kù)通常使用JSON形式來存儲(chǔ)數(shù)據(jù),但是和原生函數(shù)JSON.parse、 JSON.stringify不同,這些庫(kù)支持任何對(duì)象的反序列化,特別是函數(shù),如果使用不當(dāng),則可能會(huì)出現(xiàn)反序列化問題。
4.4.3.2. Payload構(gòu)造
下面是一個(gè)較簡(jiǎn)單的例子,首先獲得序列化后的輸出
上面執(zhí)行后會(huì)返回
不過這段payload反序列化后并不會(huì)執(zhí)行,但是在JS中支持立即調(diào)用的函數(shù)表達(dá)式(Immediately Invoked Function Expression),比如 (function () { /* code */ } ()); 這樣就會(huì)執(zhí)行函數(shù)中的代碼。那么可以使用這種方法修改序列化后的字符串來完成一次反序列化。最后的payload測(cè)試如下:
4.4.3.3. Payload構(gòu)造 II
以上提到的是node-serialize這類反序列化庫(kù)的構(gòu)造方式,還有一類庫(kù)如funcster,是使用直接拼接字符串構(gòu)造函數(shù)的方式來執(zhí)行。
return "module.exports=(function(module,exports){return{" + entries + "};})();";
這種方式可以使用相應(yīng)的閉合來構(gòu)造payload。
4.4.4. 其他
4.4.4.1. 命令執(zhí)行
Node.js中child_process.exec命令調(diào)用的是/bin/sh,故可以直接使用該命令執(zhí)行shell
4.4.4.2. 反調(diào)試技巧
函數(shù)重定義 console.log = function(a){}
定時(shí)斷點(diǎn) setInterval(function(){debugger}, 1000);
查看補(bǔ)丁安裝情況
wmic qfe get Caption,Deion,HotFixID,InstalledOn
注冊(cè)表信息
安裝的監(jiān)控軟件
安裝的殺毒軟件,如果在想要檢測(cè)自己的網(wǎng)站或app等是否有漏洞以及安全風(fēng)險(xiǎn)問題,可以咨詢下專業(yè)的網(wǎng)站安全公司來處理解決,國(guó)內(nèi)推薦Sinesafe,綠盟,啟**辰等等都是比較不錯(cuò)的。
詞條
詞條說明
網(wǎng)站漏洞測(cè)試與修復(fù)漏洞Laravel框架
Laravel框架是目前許多網(wǎng)站,APP運(yùn)營(yíng)者都在使用的一款開發(fā)框架,正因?yàn)槭褂玫木W(wǎng)站較多,許多攻擊者都在不停的對(duì)該網(wǎng)站進(jìn)行漏洞測(cè)試,我們SINE安全在對(duì)該套系統(tǒng)進(jìn)行漏洞測(cè)試的時(shí)候,發(fā)現(xiàn)存在REC漏洞.主要是XSRF漏洞,下面我們來詳細(xì)的分析漏洞,以及如何利用,漏洞修復(fù)等三個(gè)方面進(jìn)行全面的記錄.該Laravel REC漏洞的利用是需要條件的,必須滿足APP_KEY泄露的情況下才能成功的利用與觸發(fā),
網(wǎng)站存在漏洞被攻擊 該如何防止網(wǎng)站被入侵
在眾多網(wǎng)站上線后出現(xiàn)的安全漏洞問題非常明顯,作為網(wǎng)站安全公司的主管我想給大家分享下在日常網(wǎng)站維護(hù)中碰到的一些防護(hù)黑客攻擊的建議,希望大家的網(wǎng)站都能正常穩(wěn)定運(yùn)行免遭黑客攻擊。1.對(duì)上傳文件的目錄設(shè)定為腳本不能執(zhí)行的權(quán)限要是Web服務(wù)器沒法解析該文件目錄下的腳本文檔,即便黑客攻擊發(fā)送了腳本制作文檔,網(wǎng)站服務(wù)器自身也不容易受到損害。許多商業(yè)網(wǎng)站的發(fā)送運(yùn)用,上傳文件之后放進(jìn)單獨(dú)的儲(chǔ)存上,做靜態(tài)數(shù)據(jù)文檔解決
公司的安全服務(wù)項(xiàng)目包含服務(wù)器安全服務(wù)、網(wǎng)站安全服務(wù)、服務(wù)器代維服務(wù)、安全滲透測(cè)試服務(wù)。內(nèi)容涉及服務(wù)器安全設(shè)置,底層系統(tǒng)的安全加固,深度CC攻擊防御,服務(wù)器安全日志審查,網(wǎng)站漏洞測(cè)試,網(wǎng)站防劫持跳轉(zhuǎn),SQL防注入攻擊,網(wǎng)站木馬清理、網(wǎng)站程序代碼安全審計(jì),Windows 、Linux、服務(wù)器維護(hù),服務(wù)器環(huán)境配置,LAMP環(huán)境配置,IIS、Nginx、Apache、JSP+Tomcat數(shù)據(jù)庫(kù)集群、網(wǎng)站防
滲透測(cè)試公司 對(duì)上傳功能的安全檢測(cè)過程分享
前段時(shí)間我們SINE安全收到客戶的滲透測(cè)試服務(wù)委托,在這之前,客戶網(wǎng)站受到攻擊,數(shù)據(jù)被篡改,要求我們對(duì)網(wǎng)站進(jìn)行全面的滲透測(cè)試,包括漏洞的檢測(cè)與測(cè)試,邏輯漏洞.垂直水平越權(quán)漏洞,文件上傳漏洞.等等服務(wù)項(xiàng)目,在進(jìn)行安全測(cè)試之前,我們對(duì)客戶的網(wǎng)站大體的了解了一下,整個(gè)平臺(tái)網(wǎng)站,包括APP,安卓端,IOS端都采用的JSP+oracle數(shù)據(jù)庫(kù)架構(gòu)開發(fā),**使用VUE,服務(wù)器是linux centos系統(tǒng).下
公司名: 青島四海通達(dá)電子科技有限公司
聯(lián)系人: 陳雷
電 話: 0532-87818300
手 機(jī): 13280888826
微 信: 13280888826
地 址: 山東青島市北區(qū)山東省青島市城陽(yáng)區(qū)黑龍江路招商Lavie公社23#別墅
郵 編:
網(wǎng) 址: safe.b2b168.com
銀川數(shù)據(jù)庫(kù)信息泄露防護(hù)公司 青島四海通達(dá)電子科技有限公司
濟(jì)南微軟云網(wǎng)站安全維護(hù) 青島四海通達(dá)電子科技有限公司
南寧網(wǎng)站漏洞安全測(cè)試 青島四海通達(dá)電子科技有限公司
服務(wù)器安全測(cè)試公司 青島四海通達(dá)電子科技有限公司
西安網(wǎng)站漏洞安全測(cè)試 青島四海通達(dá)電子科技有限公司
南京遇到數(shù)據(jù)庫(kù)被黑怎么辦 青島四海通達(dá)電子科技有限公司
西安java防入侵安全加固軟件
烏魯木齊API接口網(wǎng)站被木馬篡改 青島四海通達(dá)電子科技有限公司
公司名: 青島四海通達(dá)電子科技有限公司
聯(lián)系人: 陳雷
手 機(jī): 13280888826
電 話: 0532-87818300
地 址: 山東青島市北區(qū)山東省青島市城陽(yáng)區(qū)黑龍江路招商Lavie公社23#別墅
郵 編:
網(wǎng) 址: safe.b2b168.com