BurpSuite-collections/books/编写burp插件实现数据包自定义修改.html

338 lines
1.3 MiB
HTML
Raw Permalink Normal View History

<!DOCTYPE html> <html lang=en style><!--
Page saved with SingleFile
url: https://xz.aliyun.com/t/14428
--><meta charset=utf-8>
<title>编写burp插件实现数据包自定义修改</title>
<meta name=description content=先知社区,先知安全技术社区>
<meta name=viewport content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
<style>/*!
* Bootstrap v2.3.1
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world @twitter by @mdo and @fat.
*/.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}footer{display:block}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}img{height:auto;vertical-align:middle;-ms-interpolation-mode:bicubic}input{margin:0}button{-webkit-appearance:button}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333}a{text-decoration:none}a:hover,a:focus{color:#005580;text-decoration:underline}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}.container{width:940px}.span10{width:780px}.container{margin-right:auto;margin-left:auto}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}p{margin:0 0 10px}strong{font-weight:bold}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h4{font-size:17.5px}ul{padding:0}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}input{font-weight:normal}input{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}input[type="text"]{display:inline-block;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px}input{width:206px}input[type="text"]{background-color:#fff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}input{margin-left:0}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear}.collapse{position:relative;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.btn{text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333
<style>/*! Editor.md v1.5.0 | editormd.min.css | Open source online markdown editor. | MIT License | By: Pandao | https://github.com/pandao/editor.md | 2015-06-09 *//*! prefixes.scss v0.1.0 | Author: Pandao | https://github.com/pandao/prefixes.scss | MIT license | Copyright (c) 2015 */@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2){}@media only screen and (-webkit-min-device-pixel-ratio:3),only screen and (min-device-pixel-ratio:3){}/*! prefixes.scss v0.1.0 | Author: Pandao | https://github.com/pandao/prefixes.scss | MIT license | Copyright (c) 2015 *//*!
* Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
*/@font-face{font-family:FontAwesome;src:url(data:font/woff2;base64,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
<style>/*!
* Bootstrap Responsive v2.3.1
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world @twitter by @mdo and @fat.
*/.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}@-ms-viewport{width:device-width}@media(min-width:768px) and (max-width:979px){}@media(max-width:767px){}@media(min-width:1200px){.row{margin-left:-30px}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:30px}.container{width:1170px}.span10{width:970px}input{margin-left:0}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container{width:724px}.span10{width:600px}input{margin-left:0}}@media(max-width:767px){body{padding-right:0px;padding-left:0px}.container{width:auto}.row{margin-left:0}[class*="span"]{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.modal{position:fixed;right:20px;left:20px;width:auto;margin:0}.modal.fade{top:-100px}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.modal{top:10px;right:10px;left:10px}}@media(max-width:979px){body{padding-top:0}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px}.nav-collapse{clear:both}.nav-collapse.collapse{height:0;overflow:hidden}}@media(min-width:980px){.nav-collapse.collapse{height:auto !important;overflow:visible !important}}</style>
<style>li{line-height:26px}a:hover{text-decoration:none}.post-user-action>span{margin-right:10px;line-height:21px;border:0}.post-user-action .i-seprator{color:rgba(0,0,0,0.1);margin:0 2px}.navbar .brand{padding:0;height:50px;margin-left:0;display:inline-block !important;background-repeat:no-repeat;width:120px;background-size:207px 50px;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIxLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuWbvuWxgl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgODAwLjQgMTMwLjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDgwMC40IDEzMC40OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6IzM3M0Q0MTt9Cjwvc3R5bGU+Cjx0aXRsZT7lhYjnn6XmioDmnK/npL7ljLo8L3RpdGxlPgo8Zz4KCTxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iMCwxMjEuNCAwLDI3LjMgNTYuMywyNy4zIAkiLz4KCTxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iODkuOSw4LjQgODkuOSwxMDIuNSAzMy41LDEwMi41IAkiLz4KPC9nPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTMwLjcsNTguNGMtMi4zLTEuNC00LjctMi45LTcuMi00LjVjNi02LjksMTAuNy0xNi4yLDE0LjEtMjcuOWw4LjMsMS43Yy0wLjcsMS42LTEuNiwzLjktMi44LDYuOQoJYy0wLjcsMi4zLTEuMywzLjktMS43LDQuOGgxNy41VjI0aDguM3YxNS41aDI5LjZWNDdoLTI5LjZ2MTUuMWgzNC43VjcwaC0yNi41djIxLjNjLTAuMiwzLjQsMS42LDUsNS41LDQuOGg3LjIKCWMzLjIsMC4yLDUuMy0xLjMsNi4yLTQuNWMwLjItMS40LDAuNS00LjEsMC43LTguM2MwLDAuNywwLjEtMC4xLDAuMy0yLjRsNy42LDIuOGMtMC4yLDQuMS0wLjcsNy45LTEuNCwxMS40CgljLTEuNiw2LTUuOCw4LjgtMTIuNyw4LjZoLTEwLjdjLTcuNiwwLjItMTEuMi0zLjItMTEtMTAuM1Y3MC4xaC0xNS44djMuMWMwLDE1LjQtOS4xLDI2LjQtMjcuMiwzM2MtMS40LTIuMS0zLTQuNi00LjgtNy42CglDMTM1LjEsOTQsMTQzLDg1LjQsMTQzLDcyLjhWNzBoLTIyLjd2LTcuOWgzOC41VjQ3aC0yMS4zQzEzNS41LDUxLjEsMTMzLjIsNTQuOSwxMzAuNyw1OC40eiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjEzLjIsNTQuNmMtMC41LTAuMi0xLjItMC43LTIuMS0xLjRjLTEuOC0xLjQtMy4yLTIuMy00LjEtMi44YzQuOC04LjksOC4xLTE3LjksMTAtMjYuOGw3LjYsMS40CgljLTAuNSwxLjgtMS4zLDQuNC0yLjQsNy42Yy0wLjIsMS4yLTAuNSwyLTAuNywyLjRoMjQuMXY3LjJoLTEyYzAsOC43LTAuMSwxNC45LTAuMywxOC42aDE0LjFWNjhoLTE0LjhjMCwyLjMtMC4yLDQuNS0wLjcsNi41CgljMS42LDEuNiwzLjgsNCw2LjUsNy4yYzQuNiw0LjgsOCw4LjYsMTAuMywxMS40bC01LjgsNS4yYy0wLjktMS4yLTIuMy0yLjgtNC4xLTQuOGMtMS44LTIuMy00LjgtNS44LTguOS0xMC43CgljLTIuNSw3LjgtOC40LDE1LjUtMTcuNSwyMy4xYy0yLjMtMi44LTQuMS00LjgtNS41LTYuMmMxMS4yLTguOSwxNy4zLTE5LjUsMTguMi0zMS43aC0xNy4ydi03LjJoMTcuNWMwLjItMy45LDAuMy0xMC4xLDAuMy0xOC42CgloLTYuOUMyMTcuMSw0Ni4zLDIxNS4zLDUwLjQsMjEzLjIsNTQuNnogTTI1MS40LDEwMi43VjMxLjloMzUuOHY3MC41aC04LjN2LTcuNmgtMTkuNnY3LjlDMjU5LjMsMTAyLjcsMjUxLjQsMTAyLjcsMjUxLjQsMTAyLjd6CgkgTTI1OS4zLDM5LjR2NDcuOGgxOS42VjM5LjRIMjU5LjN6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yOTcuMiw4MS4xYy0wLjItMC45LTAuNi0yLjMtMS00LjFjLTAuNy0xLjgtMS4yLTMuMi0xLjQtNC4xYzkuMi02LjIsMTYuNC0xNC4zLDIxLjctMjQuNGgtMTkuNnYtNi45aDI3LjV2Ny4yCgljLTIuNSw1LjUtNS40LDEwLjQtOC42LDE0Ljh2NDIuM2gtNy42VjcyLjFDMzA1LDc1LjEsMzAxLjQsNzguMSwyOTcuMiw4MS4xeiBNMzExLjcsNDAuNWMtMC4yLTAuNS0wLjYtMS4xLTEtMi4xCgljLTIuOC02LTQuNi05LjctNS41LTExLjRsNi45LTMuMWMwLjcsMS4yLDEuOCwzLjMsMy40LDYuNWMxLjYsMywyLjgsNS4yLDMuNCw2LjVMMzExLjcsNDAuNXogTTMyNi44LDgwLjcKCWMtMS42LTIuMS00LjctNS42LTkuMy0xMC43Yy0wLjItMC4yLTAuNS0wLjUtMC43LTAuN2w0LjgtNC41YzIuMSwxLjgsNC45LDQuNiw4LjYsOC4zYzEuMSwxLjIsMS45LDIsMi40LDIuNEwzMjYuOCw4MC43egoJIE0zMjguNSw1Ni42VjQ5aDE4LjZWMjQuM2g4LjN2MjQuOEgzNzV2Ny42aC0xOS42djM5LjJoMjIuNHY2LjloLTUzdi02LjloMjIuNFY1Ni42SDMyOC41eiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzg5LjgsMTAxLjRWMjkuMUg0NjJ2Ny42aC02NC4zdjU3LjhoNjUuN3Y2LjlIMzg5Ljh6IE00NTAuMyw5MC40Yy02LjItNi42LTEyLjYtMTMtMTkuMy0xOC45CgljLTYsNS43LTEzLjQsMTIuMy0yMi40LDE5LjZjLTEuNC0xLjYtMy40LTMuOC02LjItNi41YzguMy01LjcsMTUuOC0xMiwyMi43LTE4LjljLTYuOS02LjQtMTMuOC0xMi43LTIwLjYtMTguOWw2LjItNS4yTDQzMSw2MC4yCgljNS41LTYuMiwxMC45LTEyLjgsMTYuMi0yMGw3LjIsNC41Yy01LjcsNy42LTExLjYsMTQuNC0xNy41LDIwLjZjNi45LDYuNywxMy42LDEzLDIwLjMsMTguOUw0NTAuMyw5MC40eiIvPgo8L3N2Zz4K)}.brand-box{position:absolute}.related-section{min-height:42px;padding:5px 0;margin-top:25px;border-top:1px solid #eee}.related-section>.related-
<style>a{color:#778087}.topic-list p{margin:0}.topic-content{min-height:40px}.collapse form{position:relative;width:300px;float:right}div.search{padding:10px 0}.d1 input{height:20px;padding-left:18px;border:1px solid #ddd;border-radius:15px;outline:0;background:#fff;color:#9e9c9c;float:right}.vote{font-weight:normal;margin-left:6px}.topic-list{word-break:break-all;word-wrap:break-word}ul{margin:0 0 10px 0}/*!*border-bottom: solid #eee 1px;*!*/.thumbs{margin-right:10px;color:#778087}.thumbs i{line-height:20px;cursor:pointer;margin-right:5px}.manual-box{height:1.7rem;line-height:1.7rem;text-align:right}.manual-box>span{margin-left:.7rem}.user-info{padding:5px 0 5px 0}.post-content{padding:10px 0 0 0}.reply-jump{color:#6c6c6c;cursor:pointer;margin-right:5px}.reply-jump:hover{color:#ccc}.topic-info a,.topic-info{padding-top:5px}.topic-info a:hover{text-decoration:solid}.reminder{min-height:200px;border:1px #ddd solid;border-radius:3px;line-height:200px;text-align:center}</style>
<style>body{background-color:#eee}form{margin:0 !important}a:focus{text-decoration:none}.box ul,ol{margin-bottom:0px !important}.markdown-body ol{margin:0 0 24px 0 !important}.box a:hover{text-decoration:none}.box-container>ul>li{list-style-type:none}#Wrapper .row.box{margin-left:0px}.navbar-inner{border-radius:0px;min-height:40px;padding-right:0px;padding-left:0px;outline:0;margin-bottom:0;list-style:none;z-index:1050;background:#fff;-webkit-box-shadow:0 1px 4px rgba(0,21,41,0.08);box-shadow:0 1px 4px rgba(0,21,41,0.08);line-height:46px;-webkit-transition:background .3s,width .2s;-o-transition:background .3s,width .2s;transition:background .3s,width .2s}.bs-docs-footer{text-align:left;color:#99979c;height:64px;background-color:#FFF;border-top:1px solid rgba(0,0,0,0.22);line-height:64px}.bs-docs-footer .links>a{display:inline-block;padding:0 12px;border-left:1px solid #e8e8e8;color:#8c8c8c;line-height:1}.bs-docs-footer .links>a:first-child{border-left:0}.box-container .user-info{margin-bottom:10px;background:#fff}.content-title{font-size:24px;color:#333;text-decoration:none;line-height:24px;text-shadow:0 1px 0#fff}.markdown-body h1,.markdown-body h2{border-bottom:0}.box-container{padding:20px}.breadcrumb{padding:8px 10px 8px 15px;margin-bottom:10px;border-radius:0;color:#000;background-color:#fff}.breadcrumb>li{text-shadow:none !important;margin:2px 0px}.active{text-shadow:none !important}.breadcrumb .active{color:#555;display:inline-block;text-shadow:none !important}.label{background-color:#f4f4f4;font-size:12px;line-height:12px;display:inline-block;padding:4px 4px 4px 4px;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;text-decoration:none;color:#666;text-shadow:none;font-weight:normal}.topic-info{color:#999 !important;font-size:12px !important}.topic-info a{padding:0px;color:#555 !important;font-size:12px !important}.topic-info a:hover{color:#4d5256;text-decoration:underline}.post-info a:hover{color:#666 !important}.user-info .post-info span,.topic-info .cell{padding-left:0 !important;margin-left:0px;font-size:10px;font-weight:bold}.markdown-body img{max-width:90% !important;text-align:center;margin-left:auto;margin-right:auto;display:block;padding:10px 0px 10px 0px}.user-info .post-info span,.topic-info span{margin-left:0px;font-size:10px;color:rgba(0,0,0,0.45)}.avatar{-webkit-box-sizing:border-box;box-sizing:border-box;border:#999 1px solid;border-radius:4px;padding:1px;margin:1.5px 10px 0px 0px;display:inline-block;text-align:center;vertical-align:middle;background:#fff;width:44px;height:44px;max-width:100%;-ms-interpolation-mode:bicubic}.btn{display:inline-block;padding:4px 12px;margin-bottom:0;font-size:14px;line-height:20px;background-color:#f4f4f4;color:#444;border-color:#ddd;font-family:"Helvetica Neue For Number",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;list-style:none;font-weight:400;text-align:center;cursor:pointer;background-image:none;white-space:nowrap;border-radius:2px;height:32px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.box{font-family:Monospaced Number,Chinese Quote,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;color:rgba(0,0,0,0.65);-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:0 !important;margin-bottom:20px;padding:0;list-style:none;background:#fff;border-radius:2px;position:relative;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;-moz-box-shadow:0 1px 1px rgba(0,0,0,0.15);-webkit-box-shadow:0 1px 1px rgba(143,168,191,.35);box-shadow:0 1px 1px rgba(143,168,191,.35);border-bottom:1px solid #e2e2e9}.span10{float:left;min-height:1px}#Wrapper .span10{margin-left:0px !important;max-width:960px}@media(min-width:1200px){.container{width:82% !important}}@media screen and (min-width:1500px){#Wrapper.container,.navbar .navbar-inner .container,
<style>/*! prefixes.scss v0.1.0 | Author: Pandao | https://github.com/pandao/prefixes.scss | MIT license | Copyright (c) 2015 */@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2){}@media only screen and (-webkit-min-device-pixel-ratio:3),only screen and (min-device-pixel-ratio:3){}/*! prefixes.scss v0.1.0 | Author: Pandao | https://github.com/pandao/prefixes.scss | MIT license | Copyright (c) 2015 *//*!
* Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
*/@font-face{font-family:"FontAwesome";src:url(data:font/woff2;base64,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
<style>@-webkit-keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@media(max-width:800px){}</style>
<!--[if lte IE 8]>
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<![endif]-->
<!--[if !IE]> -->
<style>#waf_nc_block{position:fixed;width:100%;height:100%;top:0;bottom:0;left:0;z-index:99999}</style><style>@media(pointer:coarse){@media only screen and (max-device-width:1024px){}@media only screen and (max-device-width:414px){}@media only screen and (max-device-width:320px){}}</style><style>@media screen and (max-width:768px){}</style><style>/*!
* Waves v0.7.5
* http://fian.my.id/Waves
*
* Copyright 2014-2016 Alfiana E. Sibuea and other contributors
* Released under the MIT license
* https://github.com/fians/Waves/blob/master/LICENSE
*/</style><style>@media(max-height:620px){}@media(max-height:783px){}@-webkit-keyframes srFadeInUp{0%{opacity:0;-webkit-transform:translateY(100px);transform:translateY(100px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes srFadeInUp{0%{opacity:0;-webkit-transform:translateY(100px);transform:translateY(100px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes srFadeInDown{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(100px);transform:translateY(100px)}}@keyframes srFadeInDown{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(100px);transform:translateY(100px)}}</style><style>@-webkit-keyframes fadeOutUp{0%{opacity:1}to{margin-top:0;padding:0;height:0;min-height:0;opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}}@keyframes fadeOutUp{0%{opacity:1}to{margin-top:0;padding:0;height:0;min-height:0;opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}}@media(pointer:coarse){}</style><style>:root{--sr-annote-color-0:#b4d9fb;--sr-annote-color-1:#ffeb3b;--sr-annote-color-2:#a2e9f2;--sr-annote-color-3:#a1e0ff;--sr-annote-color-4:#a8ea68;--sr-annote-color-5:#ffb7da}</style><style>@-webkit-keyframes sr-annote-slideInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes sr-annote-slideInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@-webkit-keyframes sr-annote-slideInDown{0%{opacity:1;visibility:visible}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes sr-annote-slideInDown{0%{opacity:1;visibility:visible}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}</style><style>@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@-webkit-keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@-webkit-keyframes scaleAnimation{0%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes scaleAnimation{0%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}</style><style>@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:transl
<body>
<div class="navbar navbar-default">
<div class=navbar-inner>
<div class=container style=text-align:center;position:relative>
<!--[if lte IE 8]>
<span style="display:inline-block;margin:0 auto;color:red;">为了更好的体验请使用IE10及以上版本</span>
<![endif]-->
<div class=brand-box>
<a class=brand href=https://xz.aliyun.com/tab/1></a>
</div>
<a href="https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fxz.aliyun.com%2Ft%2F14428&amp;from_type=xianzhi" class="pull-right anonymous-user hh_loding sf-hidden">
登录</a>
<div class="nav-collapse collapse">
<div class="search d1 text-right">
<form action=/search>
<input type=text placeholder=搜索 name=keyword value>
</form>
</div>
</div>
</div>
</div>
</div>
<div id=Wrapper class=container>
<div class=row2>
<div class=span10>
<div class="row box content" width="1200px !important" style=width:1200px>
<div class=box-container>
<div class=main-topic>
<div class="clearfix user-info topic-list">
<p><span class=content-title>编写burp插件实现数据包自定义修改</span>
</p>
<div class=topic-info>
<span class=info-left>
<a href=https://xz.aliyun.com/u/85512>
<span class="username cell"> 自*徒</span></a> <span class=i-seprator> / </span>
<span> 2024-05-07 13:52:25</span><span class=i-seprator> / </span>
<span>发表于上海 / </span>
<span>浏览数 446</span>
<span class=content-node>
<span class="label label-default label-node-first">
<a href=https://xz.aliyun.com/tab/1>技术文章</a></span>
<span class="label label-default">
<a href=https://xz.aliyun.com/node/11>技术文章</a></span>
</span>
</span>
<span class="pull-right t-vote cell info-right"><a class="vote vote-up" href=javascript:void(0)>
顶(0)</a>
<a class="vote vote-down" href=javascript:void(0)>
踩(0)</a></span>
</div>
</div>
<hr>
<div id=topic_content class="topic-content markdown-body">
<h2 id=toc-0><strong>背景</strong></h2>
<p>安全测试工作中经常遇到各种加密加签或者添加了其它安全措施的数据包。以加密为例为了测试正常进行我们需要解密后修改数据包再进行加密还原手工的话很是繁琐且没必要所以我们需要一个工具帮我们自动化的实现。由于我们一般使用burp来进行抓包所以具有此功能的burp插件是个很好的选择。笔者试过几个具有此功能的插件不过或多或少的总有些地方不是那么好用笔者不想自己迁就工具决定开发一个可以满足自己需求的小插件。</p>
<h2 id=toc-1><strong>需求</strong></h2>
<p>首先笔者是想开发一款burp插件这款插件的功能是定制修改数据包同时需要解决下面几个问题。</p>
<ol>
<li>在burp收发数据包的生命周期各个环节都能进行修改数据包的操作。</li>
<li>实际对数据包修改的行为用python脚本完成,实现高度可定制化和普适性。</li>
<li>Python脚本的修改效果实时反映在插件中方便调试。</li>
<li>对不同测试项目的数据包实现自定义拦截修改。</li>
<li>在不发送数据包的情况下实现对选定部分文本的自定义修改。</li>
</ol>
<h2 id=toc-2><strong>解决方案</strong></h2>
<p>下面一一列举笔者在编写插件的过程中对上述这些问题的解决方案,因为是初步方案,所以不会很完善,后续会迭代优化。</p>
<h3 id=toc-3><strong>问题一</strong></h3>
<p>针对问题一首先认识一下burp作为中间代理转发数据包的流程当使用burp作为代理后客户端发出的请求数据包会首先来到burp的proxy模块如果我们设置intercept为on,就会看到该请求数据包接着proxy会把请求数据包发往burp的请求引擎然后请求引擎将数据包发出burp。</p>
<p>处理响应的过程正好相反burp的响应引擎收到响应数据包将响应数据包发送到proxy模块然后proxy转发响应数据包到客户端如果我们设置了proxy拦截响应看到的就是该数据包。</p>
<p>知晓了流程后接下来我们就要想办法在这个流程的各个环节插入自己的处理逻辑以burp插件的形式。本篇文章不会从头开始介绍如何开发burp插件所以没有开发过插件的同学建议先去瞅一眼相关文章避免一头雾水。</p>
<p>Burp现在推出了一版全新的API用来取代旧有的API称为MontoyaApi,该API体系在上述的数据包流转流程中都有相应的接口我们只需要在其中的方法里实现自己的处理逻辑就可以很方便。比如如果我们想处理proxy接收的客户端请求可以这样操作首先定义一个类实现相应的接口然后重写其中方法添加自己的处理逻辑如下图。</p>
<p><a id=img0 href=https://xzfile.aliyuncs.com/media/upload/picture/20240507134455-ee771328-0c34-1.png><img src=data:image/png;base64,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
<p><a id=img1 href=https://xzfile.aliyuncs.com/media/upload/picture/20240507134502-f30f71be-0c34-1.png><img src="data:image/png;base64,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
<p>这样我们就完成了对流程其中一个节点的数据包处理只要在整个流程中的节点都实现相应的接口添加自己的处理逻辑就解决了问题一最后记得要在Burp中注册我们的类。</p>
<p><a id=img2 href=https://xzfile.aliyuncs.com/media/upload/picture/20240507134517-fbe09cd2-0c34-1.png><img src=data:image/png;base64,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
<h3 id=toc-4><strong>问题二</strong></h3>
<p>现在我们已经可以实现对数据包的自定义处理逻辑了但是出现一个问题如果使用java编写然后编译成插件的话那只能实现固定的逻辑不具有普适性。如果可以使用python自定义具体的逻辑java实现RPC的调用框架就比较符合想法那么如何实现呢首先笔者去翻了下Burpy的源码是使用的pyrolite(这是一个用于java与python通信的库)因为是现成的方案笔者就直接也用pyrolite了属实白嫖不过后来发现该机制其实不是那么好,或者说笔者实现的不是那么好其中一个问题是在扫描这种高并发数据包场景下很容易出现丢包情况造成错误这个问题放在下一步计划中通过通信机制的重构来解决但这不妨碍我们利用rpc来调用python代码的思路。</p>
<p>Java中使用pyrolite也比较简单添加依赖后实现一个pyro客户端,然后像http一样对python实现的pyro服务端发出请求就可以了如下图。</p>
<ol>
<li>添加依赖。</li>
</ol>
<p><a id=img3 href=https://xzfile.aliyuncs.com/media/upload/picture/20240507134551-1031c15c-0c35-1.png><img src="data:image/png;base64,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
<p>2 实现客户端连接服务端。</p>
<p><a id=img4 href=https://xzfile.aliyuncs.com/media/upload/picture/20240507134601-15e1ef5a-0c35-1.png><img src="data:image/png;base64,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
<p>3 客户端调用Python方法其中这个invoke_method参数可以类比于http请求中的路径后面的参数是具体的方法和base64编码后的请求内容使用base64编码是为了方便传输。</p>
<p><a id=img5 href=https://xzfile.aliyuncs.com/media/upload/picture/20240507134611-1bed2522-0c35-1.png><img src="data:image/png;base64,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
<p>相应的python服务端的实现和实现一个http服务端大致一样这里只贴了方法调用的逻辑。笔者这里是白嫖的burpy的python服务端没有重新自己实现因为是人家的东西所以没改名字同时为了解决后面的问题做了一些自己的修改顺便python脚本的名字也沿用了burpy后缀,如下图。</p>
<p><a id=img6 href=https://xzfile.aliyuncs.com/media/upload/picture/20240507134620-213789fa-0c35-1.png><img src="data:image/png;base64,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
<p>然后使用Python脚本处理具体逻辑pyro服务端会加载Python脚本文件调用其中的方法也就是前面参数中指定的方法如下图。</p>
<p><a id=img7 href=https://xzfile.aliyuncs.com/media/upload/picture/20240507134643-2f329496-0c35-1.png><img src="data:image/png;base64,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
<p>这是一个模板文件可以在里面自定义自己的处理逻辑到现在基本可以实现python修改数据包的目标了。</p>
<p>总结一下java插件实现MontoyaAPI的接口拿到数据包后通过pyrolite与python通信将数据包发送给python,python处理好数据包后返回给插件,最后插件将数据包交还给burp,进入下一个环节。</p>
<h3 id=toc-5><strong>问题三</strong></h3>
<p>现在我们基本实现了一个具有在数据包流转burp的各个环节中自定义处理数据包的功能的插件并且具体的处理逻辑由python脚本实现这样可以实现对任意请求的任意修改。不过又出现了一个新的问题就是调试环节我们不能保证一次就正确写完所有的逻辑至少笔者不能总归要慢慢调试的现有的pyro服务端加载python脚本是一次性的其逻辑是将python脚本当作模块导入内存中如下图。</p>
<p><a id=img8 href=https://xzfile.aliyuncs.com/media/upload/picture/20240507134733-4cd9337e-0c35-1.png><img src="data:image/png;base64,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
<p>所以如果我们修改脚本文件就需要重启服务很麻烦。因此笔者想到了热加载在不重启服务的情况下监控脚本文件的变化如果文件发生修改就重新加载该文件在这里笔者使用的是watchdog监控文件的变化如下图。</p>
<p><a id=img9 href=https://xzfile.aliyuncs.com/media/upload/picture/20240507134832-7057859e-0c35-1.png><img src=data:image/png;base64,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
<p>从代码中可以看到如果文件发生变化就用exec_module方法重新加载该文件利用这种方法避免了服务的频繁重启。</p>
<p>同时为了防止服务与watchdog的冲突笔者是单独开了一个线程用于监控文件的变化。</p>
<h3 id=toc-6><strong>问题四</strong></h3>
<p>这个问题的提出是基于两个情况一个是不同测试项目我们要进行的处理是不同的另一个是笔者不怎么会写插件的图形化所以代码中需要的信息一般来自于配置文件。笔者希望能通过不同的配置文件动态加载相应的python脚本文件将不同项目的脚本文件通过名字区分开进而实现不同脚本文件的热加载。这个问题解决很简单首先将相关信息写在配置文件中如下图。</p>
<p><a id=img10 href=https://xzfile.aliyuncs.com/media/upload/picture/20240507134905-83c603ee-0c35-1.png><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAioAAAFYCAYAAAB9MtfkAAC/DElEQVR4nOzddXxX1f/A8dcn9ln3BoNtMLq7ke7uNDAQERRUbEAFBREbCxUBpQxAWrq7u2MMBmPd+/R9//7YgG2MGBZff+f5ePBgu3HuOffefe77c+rqJk6cKCj/MxwOB3q9Hr1e/29nRVH+89Tf279L0zQ0TcNoNP7bWVH+RToRUYGKoiiKoigPJPU1QVEURVGUB5YKVBRFURRFeWCpQEVRFEVRlAeWClQURVEURXlgqUBFURRFUZQH1p8KVGx2OwAOhxNNE4Ts4Xzk+l/T5MbPiqIoiqIohVHowemaCDa7nYuXr3Dw9Fmqly/LuahoAnx9cHM1cSkmlsplS3HkzHnKhBUjLSOLDIuV1g3r4O5iRG8wALq/oSiKoiiKovzXFHoelah0Czv27iXmwgWCQsOJv3QR76LFsGZmYLFa8QgMJDX6Mu7FS2BJiMWm0xNQvjLlAj0oo0+hdJkaGEwef1d5FEVRFEX5DylUjYoAsVkWksVA0bBwSpQqhaY5CCwWSlpaGulZZryDg0mz2PEsWoxMp2ATIcPFnZPR0aTG7yc0tBweKlBRFEVRFOUeFCpQsTqd2B0OIkqXppyfF05N8AsMxGp3EhhSDKvmxGJ34hkQhMXhwOTrT0pmJha7hs7pIC72Gvacfi35aXYLZofg5uaO4V9oGXJmJRKfYsXo5Y+vK1gdgpu7B8b76sUjOKxmzE49Hu5u/0p57lXmwdl8steVJx7tRwkPsKYnk5xuRitgW73RhLuXN94ermiZycSnmslfHZdy6Fc+2pzM44Oepbz/LQng5ReIj5vh1sQtcUyf8iax1ccwumPpv6h0iqIoyv+6ew5UBCHd5kATMOnAarfh1AS7JlgdGjZNw+p0YnNm/2xzOLE5nFitNnSiw92gx3GHB3bGri/pPTeejz/4kBp+f0HJ7pmQdGQJ48e8yQFbCer1fplGkRMYtMSNHxeson/l+4lUMvjjnY70XF+Orctm0jjkL8/0X0avg73fP8eGC0YWv9uLc79/xaR528goYFt7Riypoe354dvJ+O/4imFf7sTV2xsP083Aw3x5LytPZ3Lp9DmK5qo4s5vTSZMi9HxtMs82Dro1cTd3os/s4nxJ9U4PRVEU5aZ7fio4BZItNjQRXPU6zFYrDk1waILNoWHVNKxOBzanZP/s0DA7nGRZzHi4uOBpNJCh19/yDTzj4nZW7s2iQclwQou7YDmzizmRmbTq1ZriLn9xaQviuMY3rz7DBp/XWLl0FKFoHPp1Mz0tHoT73m9ViAvFa7Smv74YgW5/aW7/cu41H2P652l0H/YMo+s24OtBY5j/qNxynQCurp/E8K+OE5cJtTqPYXn7dI7uXMvOQ5fJsGaP7Ep3j2N/RhqVqtWipE/2fiYPH8o16kS7mqHobTGs/OVbjkfnDoV0uOhtHDyXSbxzGlOu+mHX8uagYquH6Vi7OAXUxSiKoij/YfccqGiakGKxY9cEf1cX9AhogmiCUefEqTlx6PUY9Bp6p4Zep2FAD3ojnm6uBBs8Mev15O+7qzmsxB5bxaR5RzmT4uDj85ep3qwVzn/qVYmSTHymL+EP1SJMpwf01BowkXkD/kyibtQdOJ55A/+iPP7NijR5jjk/BHPEqKHT6dHdJhpwMZlwdXFBrwN0egy6q/z8/kesMNbi4cYlAHA4nYim4XTYyW7lEw7OGc+Sy/60rt0Po07DkpVBWlrajXR1Bhfid//Eki1RuJxeSMXiAwh3ya69u85scxYYPCmKoij/bYWqZ0+3O3BqGgbAYrdjc2g4NMnuu+LUsGqCTXNidWhYnRpmuxOr1YrR3RVvN2OBfTV8yrbi+dH+DG/Wip17Umj59njeGtz05gaWeJZ88TrfbI7DRQc+zQfz5cgeBLrqwGFl/VfP8snaePQ6sGUW54lPxvFw7eLZ+T04l5c+/p0q3YbheuBz/jgumM0O+o6by7NNg7CeWsrrEz5h2ckYMmLfpMueSvR/Yxz1Un9mzAorYyaOp3ZOP4vM4ysYP/Ezjqe5oRMfardsjk/KRi6GDuPDYc3J2z04iy1TX2ZKZDU+fW84JV3BGX+QLye9x5ozNvTuvjz82rcMqOeNHnCmXOaniUOYf9KIAQ3R1WfMrNE09jcBcPr3txizIpNeXZpyesV09l9zYHcLZdTH02gfcf9T4Wi2TJKT03Ea3SjVoB9l7rK9u6sJvS5XbYsGBhcn6XGXOXvWCoD5ShKWdDOXLpzF4gEgxKRYQWfI3s81nJ5PvULPPClf5MuB56neKpU0t44MHvgyjat53ne5FEVRlP+OQjT9CA4RNLJH/+T+X0OX/U80nDeWgYaAXoenqwlfNw2dTlfAt2Ib+xfM5ZTfEyxdUJHZ389hyZX6dA91hazTTBjYnQVprRk35VMquwlpF3ey9bydHmVimfrkQL7YEc7biz+ljgccnDuad7v1Ie6XJbzYJBgt6QJ//Po7Px22M/eHT/l0sJnlbz/MhKHDKPLHbHqUbMpLo/Ukn36e83UH8/FLbQkqVowL329lxWYdQ23ZOUw9+QtPdX+O9E4TmDSuNd5ZMSz4aDDv/Xyeqq/249bp7BxcPb6FVYf1TDAAWSd465EebC/xAh992gWP1MucunCYrHpNcE3bxKimw9kX1ofJUx4lhFQWjX2Wp9tc4pNlU+lY3JWsq8dYOGMxx1Ld+H7CpzyiXeCzRx7mhZERzP9lNNU87q9BJPnUGia+9S37Y65gq/ECi6cNoSgOEiIvcD4mhkyLM8/2iQdPkGAzYrwecJqKUK1eV4ZW6sTQVtkdYOPWvc/ZX2MZ8fbH1AsB0Nj/SwC7fYvcZnZBM5u+eZdD4ZVpHRxDgp8fWxd+DT6jaKz6qyiKovy/d09PAhEwO5w3mm0cIji17H4rThE0ERwITsCpgSY565xO9Dodbi4GTEY9ep0uO7E8iVvIcq9Mz5db07VdETwSrpKV4oBQV07P/5jpx0y8uWgKParnZLV8BeoIXFz8NZ+tucrTC5YwsGZg9qrxX3Buc2O+HPcFvda8R7DRBY9gV5oOepN+DcsDMGryaObVf4tf152l19PVKFmxPEGeJuKKRFCxfPbDNsrFHR8vPdl9RNNY9NkE9pYcwB+ThlHVE6A8b7z7GXt2dCNeZyxg+jodLm5e+Hi642IEubqLVRt11P+pL/XLhwPlqVpPABtrP3mfheZS/Dj9XZplVwTx+vefsLd8dz6e0pWWk3ti0ulxDS5Dz8EjaVYxBCjP6PGDmffEH2w4OpJqDXzv+YLnFlitOx8t7MrxOSN4fFUSZg3QX2PWsD58lxBKrbJ5082MPsBJZ52c+YytnNy4moSAIPwT97NgwQEA0o6dJOlyKhuXLyDKL+dsuFWnUjF/7IAp78Xn/IJJvL2xCO9PHsD2T5dirdOJNpHz+GrmGqqO64TPfZVMURRF+a+4p0DFoWkkW2zoBIx6HXanE6vdjs2pYdc0bM7szrQ2582OtRanE6vVjkETXPQ6nE4tJ9DJ91jX+dC011Ncb+xpPXR89g9ylWXLd2Ov+gR9qufNpk6XyeEde8mq0Jdu9QNzrSlOi04VmfbTCc7ZoIhOcHd1o2G1Sje20PwCCdPpsSSlZC+wZo9e0hx2NOBmd18dOj3gPM6GHTZqPv5ITpCSTV8kgpKlfIhx2O588gR0niFEeEWxZOIQQgzjGNO/IS7oQC6xY8dlirZ5h1bFc+3jU5PWrf2ZcuoUiQDixDcwgJrlbw4fMgUVobjZQlp6BpAvUNEsbJ01htk70q/nltAOw3inV4282+n0GIx6TK6umFwMOVfGiaZ3odcL3zHpsRJ5t08+xqod0ZTxyU5Ts2eRlpoCyI34Mz01C4fVQnJiPPE5I9FTj61gXvwZqrV4nwq5Kn8S93/LkPHraTH5N5qUdmeDJYvMdH/qDBt
<p>然后从该配置文件提取这些信息,如下图。</p>
<p><a id=img11 href=https://xzfile.aliyuncs.com/media/upload/picture/20240507134914-88df0574-0c35-1.png><img src="data:image/png;base64,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
<p>这样对于不同的项目我们就只需要添加不同的配置文件就行了不同项目的python脚本文件可以用名字区分开然后动态加载。虽然不如图形化方便但笔者实在不擅长写界面。</p>
<h3 id=toc-7><strong>问题五</strong></h3>
<p>这个问题其实不能算一个问题算是附加的一个小功能其作用就是在burp可修改请求响应的地方比如repeater模块可以用鼠标选定一部分文本将该部分文本通过插件发送到python,然后处理完再返回回来主要用于在repeater模块中手动操作的一些场景。</p>
<p>首先用鼠标选定部分文本后,右键发送到插件,实现该功能的代码如下图。</p>
<p><a id=img12 href=https://xzfile.aliyuncs.com/media/upload/picture/20240507134927-90f0a182-0c35-1.png><img src="data:image/png;base64,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
<p>可以看到获取到文本后就将base64编码后的文本发送到python,python处理完后返回到插件插件将返回的文本替换原数据包被选中的文本内容这里主要是处理加解密逻辑。实现的效果就是我们鼠标选中文本后右键选择插件菜单的选项然后文本就被替换成我们处理后的内容了。对应的python代码如下。</p>
<p><a id=img13 href=https://xzfile.aliyuncs.com/media/upload/picture/20240507134935-95b49de0-0c35-1.png><img src=data:image/png;base64,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
<h2 id=toc-8><strong>下一步计划</strong></h2>
<p>重构java与python的通信机制不再使用pyrolite。</p>
<p>实现一个python库里面预设一些通用的python脚本模板包含通用的处理逻辑比如各种常用的签名加解密算法等拿来即用。</p>
<h2 id=toc-9><strong>总结</strong></h2>
<p>本文基于MontoyaApi实现了一个burp插件其功能是在Burp流转数据包的各个环节中加入自己的处理逻辑为了具有普适性不是只有一种固定处理逻辑于是通过java远程调用python方法由python脚本实现具体的处理逻辑又为了方便调试加入了热加载机制在不重启服务的前提下对修改过的python进行重新加载同时为了方便区分不同项目使用配置文件机制从配置文件中提取相关信息在代码中动态加载各种配置最后添加了手工处理选定文本的功能任意选择部分文本后将其发送到python进行处理返回的内容将即时替换被选中的文本。</p>
<p>以上内容大致就是开发插件的整个过程,简陋的代码示例提供一个思路,希望可以作为一个小小的参考。</p>
</div>
<div class=post-user-action style=margin-top:34px>
<span class="btn btn-default pull-right" id=mark data-action=topic data-pk=14428>
<span id=mark-text>点击收藏 </span><span class=i-seprator> | </span><span id=mark-count>0</span>
</span>
<span class="btn btn-default pull-right" id=follow_topic data-pk=14428>
<span>关注</span><span class=i-seprator> | </span><span id=follow-count>1</span>
</span>
<span class="btn btn-default pull-right">
<span>
<span id=ready_reward data-toggle=modal data-target=#myModal>打赏</span>
</span>
</span>
<div class=clearfix></div>
</div>
<div class=related-section>
<div class=related-box>
<span><a class=pull-left href=https://xz.aliyun.com/t/14424 title="以中国为目标的DinodasRAT Linux后门攻击场景复现"><span class=related-label style="padding:3px 4px;margin-right:3px">上一篇:</span>以中国为目标的DinodasRAT...</a></span>
<span><a class=pull-left href=https://xz.aliyun.com/t/14429 title="APT28后门武器Graphite利用Graph API将Microsoft OneDrive做为C&amp;C通信载荷执行链路及样本逆向分析"><span class=related-label>下一篇:</span>APT28后门武器Graphite...</a></span>
</div>
</div>
</div>
</div>
</div>
<div class="modal fade" id=myModal role=dialog aria-labelledby=myModalLabel aria-hidden=true>
<div class=modal-dialog>
<div class=modal-content>
<div class=modal-header>
<h4 class=modal-title id=myModalLabel style=text-align:center>
积分打赏
</h4>
</div>
<div class=modal-body id=button-value>
<div style=text-align:center>
<div role=group>
<button type=button class="btn btn-secondary m64" style=min-width:64px data-value=type1>
1分
</button>
<button type=button class="btn btn-secondary m64" style=min-width:64px data-value=type2>
2分
</button>
<button type=button class="btn btn-secondary m64" style=min-width:64px data-value=type3>
5分
</button>
</div>
<br>
<div style=margin-top:20px>
<button type=button class="btn btn-secondary m64" style=min-width:64px data-value=type4>
8分
</button>
<button type=button class="btn btn-secondary m64" style=min-width:64px data-value=type5>
10分
</button>
<button type=button class="btn btn-secondary m64" style=min-width:64px data-value=type6>
20分
</button>
</div>
</div>
</div>
<div class=modal-footer id=confirm>
<button type=button class="btn btn-default" data-dismiss=modal>关闭</button>
<button type=button class="btn btn-primary" id=reward_topic data-pk=14428>确定</button>
</div>
</div>
</div>
</div>
<div class="row box">
<ol class=breadcrumb>
<li class=active>1 条回复</li>
</ol>
<div class="box-container post-container">
<ul class=post-info id=reply-19886>
<li>
<div class="row1 user-info clearfix">
<img class="avatar pull-left tiny-avatar" src="data:image/png;base64,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
<span class=post-info>
<a class="label label-default" href=https://xz.aliyun.com/u/36657>san****test</a>
<span class=bbs-time>2024-05-08 10:11:47</span>
<span>来自江苏 </span>
</span>
<div class="post-content markdown-body">
<h1></h1>
<p>图片高糊啊</p>
</div>
<div class=manual-box>
<span class=thumbs data-action=post data-pk=19886 data-topic=14428><i class="fa fa-thumbs-o-up"></i><span>0</span></span>
<span class="reply-jump reply reply-count" data-nickname=san****test>回复Ta</span>
</div>
</div>
<hr>
</li>
</ul>
</div>
</div>
<div class="row box" id=reply-box>
<div class="box-container clearfix">
<div class=reminder>
<a href="https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fxz.aliyun.com%2Ft%2F14428&amp;from_type=xianzhi"><strong>登录</strong></a> 后跟帖
</div>
</div>
</div>
</div>
</div>
</div>
<footer class=bs-docs-footer>
<div class="container text-center">
<div class=links>
<a href=https://xz.aliyun.com/feed target=_blank>RSS</a>
<a href=https://xz.aliyun.com/about target=_blank><span>关于社区</span></a>
<a href=https://xz.aliyun.com/partner target=_blank><span>友情链接</span></a>
<a href=https://xz.aliyun.com/notice>社区小黑板</a>
<a href=https://xz.aliyun.com/connection>联系我们</a>
<a href=https://report.aliyun.com/ target=_blank>举报中心</a>
<a href=https://www.aliyun.com/complaint target=_blank>我要投诉</a>
</div>
</div>
</footer>
<div id=waf_nc_block style=display:none></div>