新聞中心
SPI Dynamics' WebInspect應(yīng)用程序安全評(píng)估工具幫你識(shí)別已知和未知的網(wǎng)頁層漏洞。它還能檢測(cè)到Web服務(wù)器的配置屬性,以及進(jìn)行常見的網(wǎng)頁攻擊,例如參數(shù)注入、跨網(wǎng)站腳本、目錄游走等等。

溫州ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
下載試用版鏈接:https://h10078.www1.hp.com/cda/hpms/display/main/hpms_content.jsp?zn=bto&cp=1-11-201-200^9570_4000_313
>>去網(wǎng)絡(luò)安全工具百寶箱看看其它安全工具
有趣的WebInspect的加密方法
從去年開始,我開始關(guān)注這款優(yōu)秀的WEB application漏洞掃描軟件,這東西除了速度比較慢以外,其它的功能真是不錯(cuò)。我當(dāng)時(shí)研究了一下,被它的用來驗(yàn)證license的那幾個(gè)dll給嚇住了,里面霍然寫著一串RSA的key,我就認(rèn)為這東西除了暴力破解,應(yīng)該沒有其它方法。最近研究了一下RSA算法,正打算用它練練手。結(jié)果我仔細(xì)研究一下這東西,發(fā)現(xiàn)居然出奇的簡(jiǎn)單,令我真是感到非常不可思議。
WebInspect在你注冊(cè)后,會(huì)給你發(fā)一個(gè)key文件,這個(gè)就是所謂的注冊(cè)文件,里面有你的注冊(cè)信息,然后webinspect在啟動(dòng)的時(shí)候會(huì)把它解密,讀出里面的信息,所用的加密函數(shù)是hostinfo.crypt,這個(gè)函數(shù)即用來加密也用來解密,所謂的加密無非就是簡(jiǎn)單的xor了一下,我也寫了一個(gè)程序,來調(diào)用這個(gè)crypt:
- #include "stdafx.h"
- #include
- #include
- int Crypt (
- int encrypt,
- int key,
- int keysize,
- int msg,
- int msgsize);
- typedef int(WINAPI* pCrypt) (
- int encrypt,
- int key,
- int keysize,
- int msg,
- int msgsize);
- void main(int argc, char* argv[])
- {
- HINSTANCE m_hDll;
- pCrypt m_crypt;
- FILE *stream;
- FILE *fout;
- int numread;
- char key[50];
- char msg[2048];
- memset((void *)msg,0,2048);
- m_hDll=LoadLibrary("hostinfo.dll");
- if (m_hDll < (HINSTANCE) HINSTANCE_ERROR)
- {
- m_hDll = NULL;
- return;
- }
- m_crypt = (pCrypt)GetProcAddress(m_hDll, "crypt");
- if( (stream = fopen( "mmm1.key", "r+b" )) != NULL ) //這里是我的原始注冊(cè)文件
- {
- numread = fread( key, sizeof( char ), 50, stream );//頭上50字節(jié)是key
- if (numread != -1)
- printf("key is : %s",key);
- numread = fread( msg, sizeof( char ), 2048, stream );//剩下的是加密后的內(nèi)容
- if (numread != -1){
- m_crypt(1,(int )key,50,(int )msg,numread); //參數(shù)1的值等于1的,是解密
- if( (fout = fopen( "mmm1.txt", "w+t" )) != NULL )
- {
- fwrite(key,sizeof(char),50,fout);
- fwrite(msg,sizeof(char),numread,fout);
- fclose(fout);
- }
- printf("msg is : %s",msg);
- }
- fclose(stream);
- }
- return ;
- }
#p#
運(yùn)行一下,我們得到了mmm1.txt,它的內(nèi)容如下:
- //下面是文件內(nèi)容
- 33383131352E31313131363839383135 SPI License File
- Company=xxx ltd.
- Contact=xxx xxx-
- Address1=xxx#
- Address2=
- City=xxx
- State=
- PostalCode=xxx
- Country=CHN
- Phone=xxxx
- Fax=
- EMail=
- [Start IP Range]
- 216.183.127.201 216.183.127.201
- [End IP Range]
- MaxPageCount=0
- MaxIssueCount=0
- ValidFrom=5/8/2004
- ValidTo=5/23/2007
- RequireHTTPSFeedback=True
- VerificationURL=https://download.spidynamics.com/spiXMLVulDB/spiXMLVulDB.asp
- MaxABS=20
- MaxGlobal=10
- IPCount=1
- IPScanCount=0
- Product=
- ProductionKey=True
- MacIDs=
- IPScanned=216.183.127.201:19
- End SPI License File
- //結(jié)束
#p#
需要注意的是”Start IP Range”,這里修改一下,比如把216.183.127.201 216.183.127.201改成 0.0.0.0 255.255.255.255,還有個(gè)地方要改一下IPCount,把1改成一個(gè)較大的數(shù),這個(gè)是用來控制你掃描的IP總數(shù)的。做了這兩下修改(需要注意的是這個(gè)是unix格式的文本文件,windows下存的時(shí)候要小心),我們就要把它加密回去,呵呵,同樣用hostinfo.crypt(這是crypt嗎?應(yīng)該叫encode才對(duì)):
- #include "stdafx.h"
- #include
- #include
- int Crypt (
- int encrypt,
- int key,
- int keysize,
- int msg,
- int msgsize);
- typedef int(WINAPI* pCrypt) (
- int encrypt,
- int key,
- int keysize,
- int msg,
- int msgsize);
- void main(int argc, char* argv[])
- {
- HINSTANCE m_hDll;
- pCrypt m_crypt;
- FILE *stream;
- FILE *fout;
- int numread;
- char key[50];
- char msg[2048];
- memset((void *)msg,0,2048);
- m_hDll=LoadLibrary("hostinfo.dll");
- if (m_hDll < (HINSTANCE) HINSTANCE_ERROR)
- {
- m_hDll = NULL;
- return;
- }
- m_crypt = (pCrypt)GetProcAddress(m_hDll, "crypt");
- if( (stream = fopen( "mmm1.txt", "r+b" )) != NULL )
- {
- numread = fread( key, sizeof( char ), 50, stream );
- if (numread != -1)
- printf("key is : %s",key);
- numread = fread( msg, sizeof( char ), 2048, stream );
- if (numread != -1){
- m_crypt(0,(int )key,50,(int )msg,numread);// //參數(shù)1的值等于0的,是加密
- if( (fout = fopen( "mmm2.key", "w+b" )) != NULL )
- {
- fwrite(key,sizeof(char),50,fout);
- fwrite(msg,sizeof(char),numread,fout);
- fclose(fout);
- }
- }
- fclose(stream);
- }
- return ;
- }
這樣我們得到了mmm2.key,放到webinspect里驗(yàn)證一下,果然沒問題,但是改過的key在線升級(jí)的時(shí)候會(huì)無效,所以正確的辦法是申請(qǐng)一個(gè)試用的key,在線把程序升級(jí)好,再用這個(gè)修改后的key.
當(dāng)前名稱:WebInspect:強(qiáng)大的網(wǎng)頁程序掃描器
URL鏈接:http://www.5511xx.com/article/djhpesh.html


咨詢
建站咨詢
