Skip to main content

RegEx

RegEx
--------------------------- REGULAR EXPRESSIONS -------------------------------------

/   regex     /

** dont use "/"  forward slash ..
inside your regular expression, should be used at the start and end

"Space" is also a regular expression

------------------------|
Literal Characters:     |
------------------------|

1. Regex --> /ohn/
test String --> ohn, john, mohn{only ohn is matched}

2. Regex -->  /color/
String --> color, colour {color is matched}

------------------------|
Modes: |
------------------------|
modes are placed after ending..  /

/regex/ mode

/regex/       {standard mode- nothing after ending forward slash}

/regex/g {global}
/regex/s {Single line mode}
/regex/i {Case INSensitive Mode}
/regex/m {multi line mode}


Global Mode: /regex/g
------------
global - more than one ; all of the matched strings are selected at once

Case Insensitive: /regex/i "or" /regex/gi
-----------------
color  can be found even when the string is COLOR

by default regex works as case sensitive


------------------------|
    Meta Characters     |
------------------------|
All about Operators

*+-={}()[]^$|?:\.

Wild card Meta Characters:
---------------------------

Any Character except newline : represented by . {dot}
where ever there is dot its takes up the before or after character and counts it in search


1. Regex -->   /.ohn/
Add any character before ohn --> to do that add "."
Example: /.ohn/ matches ohn,john and mohn

2. Regex --> /.ut/
Example: matches cut,put

  /Dr. Jazeb/gi --> drt jazeb can be searched
Pi value   /3.14/gi      --> 3414 3514 3-14 --> can be matched  // wrong
  /3\.14/gi --> 3.14 will only be searched




------------------------|
    Characters Set      |
------------------------|

Notation --> []
we use character set to define a set with certain characters.. RegEx will pick from that certain text

1. Regex --> /[cd]ash/
Example: cash, dash  --> will be matched

2. Regex -> /[vr]a[nd]ish/ Regex will pick v or r from 1st set, n or d from 2nd set
Example:vanish radish vadish ranish   // can be searched

/[abcdefghijklmnopqrstvuqxyz] team/ -- >matches like a team, b team ... z team



------------------------|
    Character Range     |
------------------------|
Notation:  -
Instead of writing all the alphabets just use /a-z/

1. Regex --> /[a-z] team/
Example: a team, b team .... z team


2. Regex --> /[A-Z] team/
Example: A team, B team .. Z team


3. Regex --> /[a-zA-Z] team/
Example: A team, a team,  B team, b team .. Z team, z team


4. Regex --> /[0-9] team/
Example: 1 team, 2 team .. 3 team
For  Digits only 0-9 can be used


5. Regex --> /5[0-9] team/
Example: 51 team, 52 team ... 59 team


Restrictimg Set with Not Symbol:
---------------------------------
Notation: ^

Matches expect anything thats with in the character set..

1. Regex --> /[^abcdef]/   //Doesnt search anything with abcdef
Matches every character expect abcdef

2. Regex --> /[^cd]ash/
Matches anything other than cash and dash

3. Regex --> /[^vr]a[nd]ish/
Matches every character expect vanish radish vadish ranish



------------------------------|
 Escaping Meta Characters     |
------------------------------|

we can not add forward slash in our regular expression, to escape such a string
we need to add "\/" back slash before it

1.Regex ==> D:\\Softwares\\Educational\\Splunk\.txt

to use a backslash in the string add "double back slash"

Search String-->   D:\Softwares\Educational\Splunk.txt

2. Regex ==> D:\\Softwares\\Educational\\Splunk\.txt\t\t
to get a tab space--> \t
Search String--> D:\Softwares\Educational\Splunk.txt

3. Regex ==> D:\\Softwares\\Educational\\Splunk\.txt\t\t\nbhanu
Matches 1 line return ...
Search String-->D:\Softwares\Educational\Splunk.txt
bhanu---------------------------------------(Another line )



-----------------------------|
Escaping Characters Set      |
-----------------------------|

there are only 4 meta characters that you need to espace inside character set
[-/*]]  --> these need to escape from character set

1. Regex ==>  [\-\/\*\]]   // for - ==> \-
// for / ==> \/
// for * ==> \*
// for ] ==> \]

Matched String: [-/*]]


========================================================
Easy way to write Sets
========================================================

\w same as --> /[a-zA-Z0-9_]/ --> word characters and underscore
\W same as --> /[^a-zA-Z0-9_]/ --> No word characters and underscore

























Comments

Popular posts from this blog

POC Links for CVE's

  Serach for a CVE here first - Trickest/cve Apache CVE-2024-38475 - CVE-2024-38475 #version less than 2.4.51 CVE-2021-44790 - h ttps://www.exploit-db.com/exploits/51193 #Apache HTTP Server 2.4.50 CVE-2021-42013 - https://www.exploit-db.com/exploits/50406 use https://github.com/mrmtwoj/apache-vulnerability-testing for below CVE's CVE-2024-38472: Apache HTTP Server on Windows UNC SSRF CVE-2024-39573: mod_rewrite proxy handler substitution CVE-2024-38477: Crash resulting in Denial of Service in mod_proxy CVE-2024-38476: Exploitable backend application output causing internal redirects CVE-2024-38475: mod_rewrite weakness with filesystem path matching CVE-2024-38474: Weakness with encoded question marks in backreferences CVE-2024-38473: mod_proxy proxy encoding problem CVE-2023-38709: HTTP response splitting EXIM #suppodily should work for versions below Exim 4.96.1 - is not accurate CVE-2023-42115 - https://github.com/AdaHop-Cyber-Security/Pocy/tree/main

Hash Extension Attacks

  #Install Dependencies sudo apt-get install libssl-dev #Download Hash Extender git clone https://github.com/iagox86/hash_extender.git cd hash_extender make #Run it /hash_extender --data 'username=admin' --secret 16 --append '&isLoggedIn=True' --signature d3a85d3b3087c7e841f84eb4316765c6e1f786074a1f1db996b2e0f8c96f197e2f55433920a630feb07daafadefbc13c947e5225fc509f8241f57f47a8df5311 --format sha512