|
楼主 |
发表于 2024-9-20 19:11
|
显示全部楼层
我将手动请求和程序请求的内容解密对比,发现程序请求的data解密出来sign字段消失了
- <div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: Consolas, "Courier New", monospace; line-height: 19px; white-space: pre;">
- <div><span style="color: #c586c0;">from</span> <span style="color: #4ec9b0;">Crypto</span>.<span style="color: #4ec9b0;">Cipher</span> <span style="color: #c586c0;">import</span> <span style="color: #4ec9b0;">AES</span>
- <span style="color: #c586c0;">import</span> <span style="color: #4ec9b0;">base64</span>
- <span style="color: #c586c0;">import</span> <span style="color: #4ec9b0;">urllib</span>.<span style="color: #4ec9b0;">parse</span>
- <span style="color: #6a9955;">##############手动请求抓包信息</span>
- <span style="color: #6a9955;"># sign</span>
- <span style="color: #6a9955;"># M6/aiv8THYD2BOCd6MYYMEJb4xqIzk65yY+MfBRPen6vdlZSsP6LUDdfzdw43v/CF723S0ZW4vQ1SZaHrkoZJNgYuj92lFR7+V3bFiYNvGqvnX3lMewetIlDtdC3IUqnEOgOZadLZ6AYFwFGhTyc/XLz3VRKIp4Qyw1ZGNZ41ajiCERJrHqtAvXOiHfTwLshjk4JiDxezwazIMDjykpdccgIGbFBnZeHfjz90fXvGkJy891USiKeEMsNWRjWeNWoKxerW/MQU48n9JingMRJyA==</span>
- <span style="color: #6a9955;"># iv </span>
- <span style="color: #6a9955;"># 94978de713b75101</span>
- <span style="color: #6a9955;"># data</span>
- <span style="color: #6a9955;"># 1T29PyVH8b6YSbZ4If1HUKQDDUrksl74F0Cm3cmJnEQCnteD3gUPBBFr+9a3bCHGnSGobefzjWYfWZ+3BC/Qdm8WGsiLvCemZ7rY/U0LjBOjmPmf24VdVIkb/czAw28HWlzFyb5J9lER17cjIFygqFak52FKDQrF5isUaaT4rYIh+haNyKOZtsrpgnWk0E3sy5DlGNiHmDEiJDG422V6s1+7h92DpxHQsp0kLx6Iq6wYbue2fwm8RsbnGquRLY1TTNWccjx9XpM/IRKA1NYwtvi/Khd5NovZfveh6XLtN7U4gE2clGhVB2M4efrdwafEvAgqBdzmZXpx+NmgoPZlsbHfb4GtqA9DzrOZbCG3yGvxvT77cOCeSqpSDSdPHUiMBW3rcxZJ6hR8Wjk3/RprduP9IC4l7KSXdjUn0A2bbQ6slSARXIO4DhsyNPeTxw9uS/HmrmtA5epQHLee2ftVjNN4v/+rBE13EvUi7R9Ya/s7wbi3CGqtY11kyTaGOm8UH9qhfst6bxdxXG7PyjsCf0YP6DrWn3vznOyBe2P0Lea8HTKUwSCMknH66S41S0lyUaV2aVEp9j3/c/705THI10QiAw+d5dPfhk0E9+MeJW6gL4HUE/e6RNX4vTwUH5Qu0Tag4QcqNlM5JB/blf6IaAaYOVVPluAz1jPpLGPbX7CsmzNXophfRFM/0pqi3DtCsylq8VxeNey/llB4E1kJU1JoNkMpgvu0Z1TWuaqzg0IJEWTTGSECSMldGs2KQQx4</span>
- <span style="color: #6a9955;"># 算法解密内容</span>
- {
- <span style="color: #ce9178;">"sign"</span>: <span style="color: #ce9178;">"M6/aiv8THYD2BOCd6MYYMEJb4xqIzk65yY+MfBRPen6vdlZSsP6LUDdfzdw43v/CF723S0ZW4vQ1SZaHrkoZJNgYuj92lFR7+V3bFiYNvGqvnX3lMewetIlDtdC3IUqnEOgOZadLZ6AYFwFGhTyc/XLz3VRKIp4Qyw1ZGNZ41ajiCERJrHqtAvXOiHfTwLshjk4JiDxezwazIMDjykpdccgIGbFBnZeHfjz90fXvGkJy891USiKeEMsNWRjWeNWoKxerW/MQU48n9JingMRJyA=="</span>,
- <span style="color: #ce9178;">"sta_vlan"</span>: <span style="color: #ce9178;">""</span>,
- <span style="color: #ce9178;">"sta_port"</span>: <span style="color: #ce9178;">""</span>,
- <span style="color: #ce9178;">"sta_ip"</span>: <span style="color: #ce9178;">"172.21.228.177"</span>,
- <span style="color: #ce9178;">"nas_ip"</span>: <span style="color: #ce9178;">""</span>,
- <span style="color: #ce9178;">"nas_name"</span>: <span style="color: #ce9178;">"HNJD01"</span>,
- <span style="color: #ce9178;">"last_url"</span>: <span style="color: #ce9178;">""</span>,
- <span style="color: #ce9178;">"request_ip"</span>: <span style="color: #ce9178;">"172.15.1.2"</span>,
- <span style="color: #ce9178;">"device_mode"</span>: <span style="color: #ce9178;">"Windows NT 10.0"</span>,
- <span style="color: #ce9178;">"device_type"</span>: <span style="color: #ce9178;">"1"</span>,
- <span style="color: #ce9178;">"device_os_type"</span>: <span style="color: #ce9178;">"3"</span>,
- <span style="color: #ce9178;">"is_mobile"</span>: <span style="color: #ce9178;">"0"</span>,
- <span style="color: #ce9178;">"iv"</span>: <span style="color: #ce9178;">"94978de713b75101"</span>,
- <span style="color: #ce9178;">"login_type"</span>: <span style="color: #ce9178;">"1"</span>,
- <span style="color: #ce9178;">"account_type"</span>: <span style="color: #ce9178;">"2"</span>,
- <span style="color: #ce9178;">"user_account"</span>: <span style="color: #ce9178;">"user_account"</span>,
- <span style="color: #ce9178;">"user_password"</span>: <span style="color: #ce9178;">"user_password"</span>
- }
- <span style="color: #6a9955;">#########################</span>
- <span style="color: #6a9955;">###############程序请求获取到的信息</span>
- <span style="color: #6a9955;"># sign</span>
- <span style="color: #6a9955;"># M6/aiv8THYD2BOCd6MYYMBIa6Y40uO49yU15Zxg0yvOvdlZSsP6LUDdfzdw43v/CF723S0ZW4vQ1SZaHrkoZJNgYuj92lFR7+V3bFiYNvGqvnX3lMewetIlDtdC3IUqnEOgOZadLZ6AYFwFGhTyc/XLz3VRKIp4Qyw1ZGNZ41ajiCERJrHqtAvXOiHfTwLshjk4JiDxezwazIMDjykpdccgIGbFBnZeHfjz90fXvGkJy891USiKeEMsNWRjWeNWoKxerW/MQU48n9JingMRJyA==</span>
- <span style="color: #6a9955;"># iv</span>
- <span style="color: #6a9955;"># 879b6e438a443b8d</span>
- <span style="color: #6a9955;"># data</span>
- <span style="color: #6a9955;"># lHj1RDM4FMkHVzNgVGL06LyeKoMpUM8giAfKhaQr5JbQDThz3Gy9qRmPaLM19nZxSq51+39IrEk63K8pFxE3VB/8LxGOFD8OI9v+/vWBEL/EH3aXWegJ7pjeIreeG2OufciL1lyfs6ey2j5+833NXt3GqZHrK0Pfm+mX+Q8w/iS/WVfR9uS7uWjY21p+pfltVszCCmOlzWmx3gbocZ1wLvt/qPIt4mjMSF6Uo4anDPZsWj10VlZM5XjGdzKXUGkHKKXonluCAplNIPqqX/NPh9Zd1Kfpt11Twlu4hmEZD90ZApUbixKa2F7cOGNZsAGUXyGP+/wk2wZylqjutU+eGbpHxy1q8Wf5iliMJBpbNfltmHDYB04y2qI357puy5S1Qu8rU93G81FMBVchFuTv1LmP9bKRJzynuY3utzgiAgiOUnaiWSjMIA/zotWZPR+P9Ff45NaXVmoa3kQ0Ihqwp3wG1HR5CAsaHPEDRCJE5nBcN9553DJihKn2oDD6NcPnpFGUF1SDCHp4y8umo0axs2Mj1s9PeAU7lWHuqAzIBLr7kCRFF7AlbwIknzDSCtopaDbTS53X6eCvXIIq5x15VTk2TBhCviOZY+jFzrSOb2fBjPUjw/RSWmNYyBIg7EquN8cJtekN9y4xYWR1JaZ8gcpoFJ+PcM0Dtg/TYQ86XOHmdLeX0oqm0bLbkULuyFgutbMih7pMKInmCc8WfiO8G+sc6n+pCzc5Fbceo2Bu2ec=</span>
- <span style="color: #6a9955;"># 算法解密内容</span>
- {
- <span style="color: #ce9178;">"sta_vlan"</span>: <span style="color: #ce9178;">""</span>,
- <span style="color: #ce9178;">"sta_port"</span>: <span style="color: #ce9178;">""</span>,
- <span style="color: #ce9178;">"sta_ip"</span>: <span style="color: #ce9178;">"172.21.228.177"</span>,
- <span style="color: #ce9178;">"nas_ip"</span>: <span style="color: #ce9178;">""</span>,
- <span style="color: #ce9178;">"nas_name"</span>: <span style="color: #ce9178;">"HNJD01"</span>,
- <span style="color: #ce9178;">"last_url"</span>: <span style="color: #ce9178;">""</span>,
- <span style="color: #ce9178;">"request_ip"</span>: <span style="color: #ce9178;">"172.15.1.2"</span>,
- <span style="color: #ce9178;">"device_mode"</span>: <span style="color: #ce9178;">"Windows NT 10.0"</span>,
- <span style="color: #ce9178;">"device_type"</span>: <span style="color: #ce9178;">"1"</span>,
- <span style="color: #ce9178;">"device_os_type"</span>: <span style="color: #ce9178;">"3"</span>,
- <span style="color: #ce9178;">"is_mobile"</span>: <span style="color: #ce9178;">"0"</span>,
- <span style="color: #ce9178;">"iv"</span>: <span style="color: #ce9178;">"879b6e438a443b8d"</span>,
- <span style="color: #ce9178;">"login_type"</span>: <span style="color: #ce9178;">"1"</span>,
- <span style="color: #ce9178;">"account_type"</span>: <span style="color: #ce9178;">"2"</span>,
- <span style="color: #ce9178;">"user_account"</span>: <span style="color: #ce9178;">"user_account"</span>,
- <span style="color: #ce9178;">"user_password"</span>: <span style="color: #ce9178;">"user_password"</span>
- }
- <span style="color: #6a9955;">#########################</span>
- <span style="color: #569cd6;">def</span> <span style="color: #dcdcaa;">cryptoDecode</span>(<span style="color: #9cdcfe;">data</span>, <span style="color: #9cdcfe;">iv</span>):
- <span style="color: #9cdcfe;">key</span> <span style="color: #d4d4d4;">=</span> <span style="color: #569cd6;">b</span><span style="color: #ce9178;">'1234567887654321'</span>
- <span style="color: #9cdcfe;">ivv</span> <span style="color: #d4d4d4;">=</span> <span style="color: #9cdcfe;">iv</span>.encode(<span style="color: #ce9178;">'utf-8'</span>)
- <span style="color: #9cdcfe;">cipher</span> <span style="color: #d4d4d4;">=</span> <span style="color: #4ec9b0;">AES</span>.<span style="color: #dcdcaa;">new</span>(<span style="color: #9cdcfe;">key</span>, <span style="color: #4ec9b0;">AES</span>.<span style="color: #9cdcfe;">MODE_CBC</span>, <span style="color: #9cdcfe;">ivv</span>)
- <span style="color: #9cdcfe;">decrypted</span> <span style="color: #d4d4d4;">=</span> <span style="color: #9cdcfe;">cipher</span>.<span style="color: #dcdcaa;">decrypt</span>(<span style="color: #4ec9b0;">base64</span>.<span style="color: #dcdcaa;">b64decode</span>(<span style="color: #9cdcfe;">data</span>))
- <span style="color: #dcdcaa;">print</span>(<span style="color: #9cdcfe;">decrypted</span>)
- <span style="color: #c586c0;">return</span> <span style="color: #9cdcfe;">decrypted</span>.<span style="color: #dcdcaa;">decode</span>(<span style="color: #ce9178;">'utf-8'</span>).<span style="color: #dcdcaa;">rstrip</span>(<span style="color: #ce9178;">'</span><span style="color: #d7ba7d;">\0</span><span style="color: #ce9178;">'</span>)
- <span style="color: #9cdcfe;">data</span> <span style="color: #d4d4d4;">=</span> <span style="color: #ce9178;">"lHj1RDM4FMkHVzNgVGL06LyeKoMpUM8giAfKhaQr5JbQDThz3Gy9qRmPaLM19nZxSq51+39IrEk63K8pFxE3VB/8LxGOFD8OI9v+/vWBEL/EH3aXWegJ7pjeIreeG2OufciL1lyfs6ey2j5+833NXt3GqZHrK0Pfm+mX+Q8w/iS/WVfR9uS7uWjY21p+pfltVszCCmOlzWmx3gbocZ1wLvt/qPIt4mjMSF6Uo4anDPZsWj10VlZM5XjGdzKXUGkHKKXonluCAplNIPqqX/NPh9Zd1Kfpt11Twlu4hmEZD90ZApUbixKa2F7cOGNZsAGUXyGP+/wk2wZylqjutU+eGbpHxy1q8Wf5iliMJBpbNfltmHDYB04y2qI357puy5S1Qu8rU93G81FMBVchFuTv1LmP9bKRJzynuY3utzgiAgiOUnaiWSjMIA/zotWZPR+P9Ff45NaXVmoa3kQ0Ihqwp3wG1HR5CAsaHPEDRCJE5nBcN9553DJihKn2oDD6NcPnpFGUF1SDCHp4y8umo0axs2Mj1s9PeAU7lWHuqAzIBLr7kCRFF7AlbwIknzDSCtopaDbTS53X6eCvXIIq5x15VTk2TBhCviOZY+jFzrSOb2fBjPUjw/RSWmNYyBIg7EquN8cJtekN9y4xYWR1JaZ8gcpoFJ+PcM0Dtg/TYQ86XOHmdLeX0oqm0bLbkULuyFgutbMih7pMKInmCc8WfiO8G+sc6n+pCzc5Fbceo2Bu2ec="</span>
- <span style="color: #9cdcfe;">iv</span> <span style="color: #d4d4d4;">=</span> <span style="color: #ce9178;">"879b6e438a443b8d"</span>
- <span style="color: #9cdcfe;">decrypted_data</span> <span style="color: #d4d4d4;">=</span> <span style="color: #dcdcaa;">cryptoDecode</span>(<span style="color: #9cdcfe;">data</span>, <span style="color: #9cdcfe;">iv</span>)
- <span style="color: #6a9955;"># print(decrypted_data)</span>
- <span style="color: #9cdcfe;">parts</span> <span style="color: #d4d4d4;">=</span> <span style="color: #9cdcfe;">decrypted_data</span>.<span style="color: #dcdcaa;">split</span>(<span style="color: #ce9178;">'&'</span>)
- <span style="color: #9cdcfe;">data_dict</span> <span style="color: #d4d4d4;">=</span> {}
- <span style="color: #c586c0;">for</span> <span style="color: #9cdcfe;">part</span> <span style="color: #c586c0;">in</span> <span style="color: #9cdcfe;">parts</span>:
- <span style="color: #9cdcfe;">key_value</span> <span style="color: #d4d4d4;">=</span> <span style="color: #9cdcfe;">part</span>.<span style="color: #dcdcaa;">split</span>(<span style="color: #ce9178;">'='</span>)
- <span style="color: #c586c0;">if</span> <span style="color: #dcdcaa;">len</span>(<span style="color: #9cdcfe;">key_value</span>) <span style="color: #d4d4d4;">==</span> <span style="color: #b5cea8;">2</span>:
- <span style="color: #9cdcfe;">key</span>, <span style="color: #9cdcfe;">value</span> <span style="color: #d4d4d4;">=</span> <span style="color: #9cdcfe;">key_value</span>
- <span style="color: #9cdcfe;">data_dict</span>[<span style="color: #9cdcfe;">key</span>] <span style="color: #d4d4d4;">=</span> <span style="color: #4ec9b0;">urllib</span>.<span style="color: #4ec9b0;">parse</span>.unquote(<span style="color: #9cdcfe;">value</span>)
- <span style="color: #c586c0;">import</span> <span style="color: #4ec9b0;">json</span>
- <span style="color: #9cdcfe;">json_data</span> <span style="color: #d4d4d4;">=</span> <span style="color: #4ec9b0;">json</span>.<span style="color: #dcdcaa;">dumps</span>(<span style="color: #9cdcfe;">data_dict</span>)
- <span style="color: #dcdcaa;">print</span>(<span style="color: #9cdcfe;">json_data</span>)</div>
- </div>
复制代码 |
|