@@ -8,12 +8,12 @@ pub struct Injector {
88}
99
1010pub trait Urlinjector {
11- fn url_value ( & self , _payload : & str ) -> HashMap < String , Vec < Url > > ;
12- fn set_urlvalue ( & self , param : & str , _payload : & str ) -> Url ;
11+ fn url_value ( & self , payload : & str ) -> HashMap < String , Vec < Url > > ;
12+ fn set_urlvalue ( & self , param : & str , payload : & str ) -> Url ;
1313}
1414
1515impl Urlinjector for Injector {
16- fn set_urlvalue ( & self , param : & str , _payload : & str ) -> Url {
16+ fn set_urlvalue ( & self , param : & str , payload : & str ) -> Url {
1717 let mut url = self . request . clone ( ) ;
1818 let mut final_params = HashMap :: new ( ) ;
1919
@@ -25,9 +25,9 @@ impl Urlinjector for Injector {
2525 if k == param {
2626 final_params. insert ( k. to_string ( ) , {
2727 if self . keep_value == true {
28- format ! ( "{}{}" , v. to_string( ) , _payload )
28+ format ! ( "{}{}" , v. to_string( ) , payload )
2929 } else {
30- format ! ( "{}" , _payload )
30+ format ! ( "{}" , payload )
3131 }
3232 } ) ;
3333 } else {
@@ -39,44 +39,34 @@ impl Urlinjector for Injector {
3939 url
4040 }
4141
42- /// Set the payload to every GET parameter in the url
43- /// * example :
44- /// ```rust
45- /// let injector = Injector {
46- /// request: Url::parse("http://example.com/index.php?param1=value1¶m2=value2").unwrap(),
47- /// };
48- /// let mut urls = injector.url_value("hacker");
49- /// assert_eq!(urls.len(),2);
50- /// {"param1":url::Url::parse("http://example.com/index.php?param1=value1hacker¶m2=value2").unwrap(),"param2":url::Url::parse("http://example.com/index.php?param1=value1¶m2=value2hacker").unwrap()}
51- /// ```
52- fn url_value ( & self , _payload : & str ) -> HashMap < String , Vec < Url > > {
42+ fn url_value ( & self , payload : & str ) -> HashMap < String , Vec < Url > > {
5343 let url = self . request . clone ( ) ;
54- let _params : HashMap < _ , _ > = url. query_pairs ( ) . collect :: < HashMap < _ , _ > > ( ) ;
44+ let params : HashMap < _ , _ > = url. query_pairs ( ) . collect :: < HashMap < _ , _ > > ( ) ;
5545 let mut scan_params = HashMap :: new ( ) ;
56- let mut bruh : HashMap < String , Vec < Url > > = HashMap :: new ( ) ;
46+ let mut result : HashMap < String , Vec < Url > > = HashMap :: new ( ) ;
5747 let mut param_list = Vec :: new ( ) ;
58- _params . iter ( ) . for_each ( |( key, value) | {
48+ params . iter ( ) . for_each ( |( key, value) | {
5949 scan_params. insert ( key. to_string ( ) , value. to_string ( ) ) ;
6050 param_list. push ( key. to_string ( ) ) ;
6151 } ) ;
62- drop ( _params ) ;
52+ drop ( params ) ;
6353
6454 scan_params. iter ( ) . for_each ( |( key, value) | {
65- let mut p = Vec :: new ( ) ;
55+ let mut edit_params = Vec :: new ( ) ;
6656
67- _payload . split ( "\n " ) . into_iter ( ) . for_each ( |payload| {
57+ payload . split ( "\n " ) . into_iter ( ) . for_each ( |payload| {
6858 let mut new_params = scan_params. clone ( ) ;
6959 new_params. insert ( key. to_string ( ) , value. as_str ( ) . to_owned ( ) + payload) ;
7060 let mut new_url = url. clone ( ) ;
7161 new_url. query_pairs_mut ( ) . clear ( ) ;
7262
7363 new_url. query_pairs_mut ( ) . extend_pairs ( & new_params) ;
7464
75- p . push ( new_url) ;
65+ edit_params . push ( new_url) ;
7666 } ) ;
7767
78- bruh . insert ( key. to_string ( ) , p ) ;
68+ result . insert ( key. to_string ( ) , edit_params ) ;
7969 } ) ;
80- bruh
70+ result
8171 }
8272}
0 commit comments