1
1
package generating
2
2
3
3
import (
4
- "strings"
5
4
"strconv"
5
+ "strings"
6
6
7
7
"github.com/hahwul/dalfox/v2/pkg/scanning"
8
8
)
@@ -11,35 +11,36 @@ type objectPayload struct {
11
11
Listener func () ([]string , int )
12
12
}
13
13
14
- func GenerateBulkPayload () ([] string , int ){
15
- var result []string
16
- size := 0
17
- var objs [] objectPayload
18
- seq := 0
19
- outSeq := 0
20
- _ = outSeq
21
- objs = append ( objs , objectPayload { Listener : scanning . GetPortswiggerPayload })
22
- objs = append (objs , objectPayload {Listener : scanning .GetCommonPayload })
23
- objs = append (objs , objectPayload {Listener : scanning .GetHTMLPayload })
24
- objs = append (objs , objectPayload {Listener : scanning .GetInJsPayload })
25
- objs = append (objs , objectPayload {Listener : scanning .GetAttrPayload })
26
- for _ , obj := range objs {
27
- lst , _ := obj . Listener ()
28
- nlst , outSeq := setPayloadVauleForBulk ( lst , seq )
29
- seq = outSeq
30
- for i , v := range nlst {
31
- size = size + i
32
- result = append ( result , v )
33
- }
14
+ // GenerateBulkPayload is func of Make Bulk Payload
15
+ func GenerateBulkPayload () ( []string , int ) {
16
+ var result [] string
17
+ size := 0
18
+ var objs [] objectPayload
19
+ seq := 0
20
+ outSeq := 0
21
+ _ = outSeq
22
+ objs = append (objs , objectPayload {Listener : scanning .GetPortswiggerPayload })
23
+ objs = append (objs , objectPayload {Listener : scanning .GetCommonPayload })
24
+ objs = append (objs , objectPayload {Listener : scanning .GetHTMLPayload })
25
+ objs = append (objs , objectPayload {Listener : scanning .GetInJsPayload })
26
+ objs = append ( objs , objectPayload { Listener : scanning . GetAttrPayload })
27
+ for _ , obj := range objs {
28
+ lst , _ := obj . Listener ( )
29
+ nlst , outSeq := setPayloadVauleForBulk ( lst , seq )
30
+ seq = outSeq
31
+ for i , v := range nlst {
32
+ size = size + i
33
+ result = append ( result , v )
34
34
}
35
+ }
35
36
return result , size
36
37
}
37
38
38
39
// setPayloadVauleForBulk is change alert/prompt/conrifm value using sequence
39
40
func setPayloadVauleForBulk (payloads []string , inSeq int ) ([]string , int ) {
40
41
var result []string
41
42
seq := inSeq
42
- for _ ,payload := range payloads {
43
+ for _ , payload := range payloads {
43
44
temp := strings .ReplaceAll (payload , "alert(1)" , "alert(DALFOX_ALERT_VALUE)" )
44
45
temp = strings .ReplaceAll (temp , "alert(document.domain)" , "alert(DALFOX_ALERT_VALUE)" )
45
46
temp = strings .ReplaceAll (temp , "\\ u0061lert(1)" , "\\ u0061lert(DALFOX_ALERT_VALUE)" )
0 commit comments