mirror of
https://github.com/projectdiscovery/nuclei.git
synced 2025-12-18 04:55:28 +00:00
Pad date and time helper strings with double digits
This commit is contained in:
parent
bebdb29706
commit
be0e4b227c
@ -161,11 +161,11 @@ func init() {
|
||||
now := time.Now()
|
||||
switch value[1] {
|
||||
case "Y", "y":
|
||||
item = strings.ReplaceAll(item, value[0], strconv.Itoa(now.Year()))
|
||||
item = strings.ReplaceAll(item, value[0], appendSingleDigitZero(strconv.Itoa(now.Year())))
|
||||
case "M", "m":
|
||||
item = strings.ReplaceAll(item, value[0], strconv.Itoa(int(now.Month())))
|
||||
item = strings.ReplaceAll(item, value[0], appendSingleDigitZero(strconv.Itoa(int(now.Month()))))
|
||||
case "D", "d":
|
||||
item = strings.ReplaceAll(item, value[0], strconv.Itoa(now.Day()))
|
||||
item = strings.ReplaceAll(item, value[0], appendSingleDigitZero(strconv.Itoa(now.Day())))
|
||||
default:
|
||||
return nil, fmt.Errorf("invalid date format string: %s", value[0])
|
||||
}
|
||||
@ -182,11 +182,11 @@ func init() {
|
||||
now := time.Now()
|
||||
switch value[1] {
|
||||
case "H", "h":
|
||||
item = strings.ReplaceAll(item, value[0], strconv.Itoa(now.Hour()))
|
||||
item = strings.ReplaceAll(item, value[0], appendSingleDigitZero(strconv.Itoa(now.Hour())))
|
||||
case "M", "m":
|
||||
item = strings.ReplaceAll(item, value[0], strconv.Itoa(now.Minute()))
|
||||
item = strings.ReplaceAll(item, value[0], appendSingleDigitZero(strconv.Itoa(now.Minute())))
|
||||
case "S", "s":
|
||||
item = strings.ReplaceAll(item, value[0], strconv.Itoa(now.Second()))
|
||||
item = strings.ReplaceAll(item, value[0], appendSingleDigitZero(strconv.Itoa(now.Second())))
|
||||
default:
|
||||
return nil, fmt.Errorf("invalid time format string: %s", value[0])
|
||||
}
|
||||
@ -466,6 +466,18 @@ func init() {
|
||||
}
|
||||
}
|
||||
|
||||
// appendSingleDigitZero appends zero at front if not exists already doing two digit padding
|
||||
func appendSingleDigitZero(value string) string {
|
||||
if len(value) == 1 && !strings.HasPrefix(value, "0") {
|
||||
builder := &strings.Builder{}
|
||||
builder.WriteRune('0')
|
||||
builder.WriteString(value)
|
||||
newVal := builder.String()
|
||||
return newVal
|
||||
}
|
||||
return value
|
||||
}
|
||||
|
||||
func createSignaturePart(numberOfParameters int) string {
|
||||
params := make([]string, 0, numberOfParameters)
|
||||
for i := 1; i <= numberOfParameters; i++ {
|
||||
|
||||
@ -177,8 +177,8 @@ func TestDslExpressions(t *testing.T) {
|
||||
`hex_encode("aa")`: "6161",
|
||||
`html_escape("<body>test</body>")`: "<body>test</body>",
|
||||
`html_unescape("<body>test</body>")`: "<body>test</body>",
|
||||
`date("%Y-%M-%D")`: fmt.Sprintf("%d-%d-%d", now.Year(), now.Month(), now.Day()),
|
||||
`time("%H-%M")`: fmt.Sprintf("%d-%d", now.Hour(), now.Minute()),
|
||||
`date("%Y-%M-%D")`: fmt.Sprintf("%02d-%02d-%02d", now.Year(), now.Month(), now.Day()),
|
||||
`time("%H-%M")`: fmt.Sprintf("%02d-%02d", now.Hour(), now.Minute()),
|
||||
`md5("Hello")`: "8b1a9953c4611296a827abf8c47804d7",
|
||||
`md5(1234)`: "81dc9bdb52d04dc20036dbd8313ed055",
|
||||
`mmh3("Hello")`: "316307400",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user