You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Fixed merge conflict between PR bitquark#23 and PR bitquark#16
- Added case-insensitive matching for bin::$INDEX_ALLOCATION
- Changed session identifier from (S(x)) to (S(d)) for WAF evasion
- Implemented -R flag for relaxed match mode (tentative matches)
* Useful for Jakarta/CFM files loaded via 8.3 filenames
* Tentative matches shown in yellow with [tentative] label
* JSON output includes 'tentative' field
- Updated README with custom enhancements documentation
- Added usage examples for new features
- Code formatting improvements (gofmt)
This fork includes the following upstream PRs that have not yet been merged into the main repository:
15
+
16
+
| PR # | Status | Title | Author | Description |
17
+
|------|--------|-------|--------|-------------|
18
+
|[#16](https://github.com/bitquark/shortscan/pull/16)| ✅ Applied | Added support for detecting Source Code Disclosure while autocomplete | ke0ge | Adds `replaceBinALLOCATION()` function to handle `bin::$INDEX_ALLOCATION` paths for downloading .DLL files. Use `--autocomplete method` to avoid timeout issues with large DLL files. |
19
+
|[#23](https://github.com/bitquark/shortscan/pull/23)| ✅ Applied | Implemented rate limit for shortscan cmd | soerlemans | Adds `-r` flag for rate limiting (supports fractional values like `-r 0.2` for 1 request every 5 seconds). Includes `delayRequest()` function to prevent overwhelming targets during bug bounty testing. |
20
+
|[#24](https://github.com/bitquark/shortscan/pull/24)| ✅ Applied | Updated error handling on inaccessible servers | sp0ilerr | Improves error handling to continue execution when a server is inaccessible, allowing batch scans to proceed even when encountering unreachable servers. |
21
+
22
+
### Custom Enhancements
23
+
24
+
Additional features implemented in this fork:
25
+
26
+
| Feature | Description |
27
+
|---------|-------------|
28
+
| Relaxed Match Mode (`-R`) | Enables detection of tentative matches where the final status matches the negative marker. Useful for Jakarta/CFM files that can be loaded via their 8.3 short filenames. Tentative matches are marked with yellow color in human output and `"tentative": true` in JSON output. |
29
+
| Case-insensitive `INDEX_ALLOCATION`| The `replaceBinALLOCATION()` function now uses case-insensitive matching for `bin::$INDEX_ALLOCATION` paths. |
30
+
| WAF Evasion | Changed session identifier from `(S(x))` to `(S(d))` to avoid detection by sensitive WAFs. |
31
+
32
+
### Integration Notes
33
+
34
+
- All three PRs have been successfully merged on the `merge-upstream-prs` branch
35
+
- Merge conflict between PR #23 and PR #16 in `shortscan.go` has been resolved (both `delayRequest()` and `replaceBinALLOCATION()` functions coexist)
36
+
- The `main` branch is kept in sync with `upstream/main` for easier future updates
37
+
38
+
### Future Upstream Synchronization
39
+
40
+
When updating from upstream in the future:
41
+
42
+
1.**If these PRs are merged upstream**: Simply fetch and merge from upstream/main - no conflicts expected
43
+
2.**If these PRs remain unmerged**: Reapply them after syncing with upstream/main
44
+
3.**If upstream changes conflict with these PRs**: Manual conflict resolution will be needed
45
+
46
+
To check upstream PR status before syncing:
47
+
```bash
48
+
# Check if PRs are still open
49
+
git fetch upstream
50
+
# Visit https://github.com/bitquark/shortscan/pulls to verify PR status
51
+
```
52
+
5
53
## Functionality
6
54
7
55
Shortscan is designed to quickly determine which files with short filenames exist on an IIS webserver. Once a short filename has been identified the tool will try to automatically identify the full filename.
@@ -55,6 +103,23 @@ To check whether a site is vulnerable without performing file enumeration use:
55
103
shortscan --isvuln
56
104
```
57
105
106
+
To limit the request rate (useful for bug bounty testing to avoid overwhelming targets):
107
+
```
108
+
shortscan -r 2.5 http://example.org/ # 2.5 requests per second
109
+
shortscan -r 0.2 http://example.org/ # 1 request every 5 seconds
110
+
```
111
+
112
+
To use method-based autocomplete for downloading DLL files without timeout issues:
0 commit comments