Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Add tooltip icons #12

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
vizzdoom merged 4 commits into main from codex/zastąpienie-domyślnego-tooltipa-za-pomocą-css
Jun 30, 2025

The head ref may contain hidden characters: "codex/zast\u0105pienie-domy\u015Blnego-tooltipa-za-pomoc\u0105-css"

Dismiss
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 10 additions & 4 deletions app.js
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -851,7 +851,13 @@ class SQLMapGenerator {

// Initialize the application when DOM is loaded
let sqlgen = null;
document.addEventListener('DOMContentLoaded', () => {
sqlgen = new SQLMapGenerator();
document.querySelectorAll('input[type=text], textarea').forEach(field => field.spellcheck = false);
});
document.addEventListener('DOMContentLoaded', () => {
sqlgen = new SQLMapGenerator();
document.querySelectorAll('input[type=text], textarea').forEach(field => field.spellcheck = false);

document.querySelectorAll('em.tooltip').forEach(el => {
const text = el.textContent;
el.textContent = '';
el.dataset.tooltip = text;
});
});
31 changes: 13 additions & 18 deletions sql-command-builder.html
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -56,13 +56,13 @@ <h1><a href="?">SQLMap Command Builder</a></h1>
<div class="card__body">
<div class="form-grid">
<!-- -u -->
<div class="form-group" title="Target URL (e.g. http://127.0.0.1/vuln.php?id=1)">
<label class="form-label" for="url">TARGET URL<br/><span>-u</span></label>
<div class="form-group">
<label class="form-label" for="url">TARGET URL<em class="tooltip">Target URL (e.g. http://127.0.0.1/vuln.php?id=1)</em><br/><span>-u</span></label>
<input type="url" id="url" class="form-control" placeholder="https://127.0.0.1/page?id=1">
</div>
<!-- -d -->
<div class="form-group" title="Connection string for direct database connection">
<label class="form-label" for="directDb">DATABASE CONNECTION STRING<br/><span>-d</span></label>
<div class="form-group">
<label class="form-label" for="directDb">DATABASE CONNECTION STRING<em class="tooltip">Connection string for direct database connection</em><br/><span>-d</span></label>
<input type="text" id="directDb" class="form-control" placeholder="mysql://user:pass@host/db">
</div>
<!-- -g -->
Expand Down Expand Up @@ -174,20 +174,18 @@ <h3>Proxy Options</h3>
<input type="number" id="proxyFreq" class="form-control" min="1" step="1" placeholder="3">
</div>
<!-- --ignore-proxy -->
<div class="form-group row-expand" title="Run sqlmap against a target part of a local area network by ignoring the system-wide set HTTP(S) proxy server setting.">
<label class="form-label">IGNORE SYSTEM PROXY SETTINGS</label>
<div class="form-group row-expand">
<label class="form-label">IGNORE SYSTEM PROXY SETTINGS<em class="tooltip">Run sqlmap against a target part of a local area network by ignoring the system-wide set HTTP(S) proxy server setting.</em></label>
<label class="checkbox-label">
<input type="checkbox" id="proxyIgnore">
<span class="checkmark"></span>
<span class="checkbox-label__text">--ignore-proxy</span>
</label>
</div>
<div class="form-group" title="If, for any reason, you need to stay anonymous, instead of passing by a single predefined HTTP(S) proxy server, you can configure a Tor client together with Privoxy (or similar) on your machine as explained in Tor installation guides.
Then you can use a switch --tor and sqlmap will try to automatically set Tor proxy connection settings.
You are strongly advised to use --check-tor occasionally to be sure that everything was set up properly - sqlmap will check that everything works as expected by sending a single request to an official Are you using Tor? page before any target requests.">
<div class="form-group">
<!-- --tor -->
<div class="checkbox-grid">
<label class="form-label">TOR ANONYMITY NETWORK SETTINGS</label>
<label class="form-label">TOR ANONYMITY NETWORK SETTINGS<em class="tooltip">If, for any reason, you need to stay anonymous, instead of passing by a single predefined HTTP(S) proxy server, you can configure a Tor client together with Privoxy (or similar) on your machine as explained in Tor installation guides. Then you can use a switch --tor and sqlmap will try to automatically set Tor proxy connection settings. You are strongly advised to use --check-tor occasionally to be sure that everything was set up properly - sqlmap will check that everything works as expected by sending a single request to an official Are you using Tor? page before any target requests.</em></label>
<label class="checkbox-label">
<input type="checkbox" id="tor">
<span class="checkmark"></span>
Expand Down Expand Up @@ -628,7 +626,7 @@ <h3>Attack Optimalization</h3>
</div>
<!-- Attack tuning -->
<div class="form-group">
<label class="form-label" title="Connection optimization - using persistent HTTP(s) connections">ATTACK TUNING</label>
<label class="form-label">ATTACK TUNING<em class="tooltip">Connection optimization - using persistent HTTP(s) connections</em></label>
<div class="checkbox-grid">
<!-- --invalid-bignum -->
<label class="checkbox-label" title="This parameter forces sqlmap to use large integer numbers for invalidating original parameter values during SQL injection tests.
Expand All @@ -655,13 +653,10 @@ <h3>Attack Optimalization</h3>
<span>--invalid-string</span>
</label>
<!-- --no-cast -->
<label class="checkbox-label" title="The switch disables sqlmap's automatic payload casting mechanism.
Normally sqlmap adds CAST() functions to payloads for handling different DBMS data types.
Using --no-cast is necessary when applications have payload length restrictions or when casting functions are blocked by WAF. It significantly reduces the size of generated payloads, which is critical in environments with character limits.
It is often combined with --no-escape in environments with query length restrictions where every character matters.">
<label class="checkbox-label">
<input type="checkbox" id="noCast">
<span class="checkmark"></span>
<span>--no-cast</span>
<span>--no-cast</span><em class="tooltip">The switch disables sqlmap's automatic payload casting mechanism. Normally sqlmap adds CAST() functions to payloads for handling different DBMS data types. Using --no-cast is necessary when applications have payload length restrictions or when casting functions are blocked by WAF. It significantly reduces the size of generated payloads, which is critical in environments with character limits. It is often combined with --no-escape in environments with query length restrictions where every character matters.</em>
</label>
<!-- --no-escape -->
<label class="checkbox-label" title="This parameter disables sqlmap's built-in string escaping mechanism.
Expand Down Expand Up @@ -856,10 +851,10 @@ <h3>Attack Optimalization</h3>
<span class="checkmark"></span>
<span>--statements</span>
</label>
<label class="checkbox-label" title="Retrieve SQL statements being run on DBMS">
<label class="checkbox-label">
<input type="checkbox" id="tables">
<span class="checkmark"></span>
<span>--tables</span>
<span>--tables</span><em class="tooltip">Retrieve SQL statements being run on DBMS</em>
</label>
<label class="checkbox-label" title="Enumerate DBMS users">
<input type="checkbox" id="users">
Expand Down
42 changes: 38 additions & 4 deletions style.css
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -468,6 +468,7 @@ pre code {
color: var(--hacker-secondary);
}


.form-control:focus {
border-color: var(--hacker-primary);
box-shadow: 0 0 10px rgba(0, 255, 65, 0.3);
Expand Down Expand Up @@ -968,20 +969,36 @@ input[type=number]::-webkit-outer-spin-button {
.tooltip,
[title] {
position: relative;
display: inline-block;
margin-left: var(--space-xs);
cursor: pointer;
font-style: normal;
color: var(--hacker-secondary);
}

.tooltip::before {
content: "i";
font-size: 0.9em;
line-height: 1;
transition: color 0.2s ease;
}

.tooltip:hover::before {
color: var(--hacker-primary);

}

.tooltip::after,
[title]::after {
position: absolute;
bottom: calc(100% + var(--space-xs));
bottom: calc(100% + var(--space-2xl));
left: 50%;
transform: translateX(-50%);
background: var(--hacker-bg-dark-opacity);
color: var(--hacker-secondary);
padding: var(--space-s);
border-radius: var(--radius-m);
font-size: var(--font-size-xs);
font-size: var(--font-size-m);
white-space: normal;
overflow-wrap: break-word;
width: max-content;
Expand All @@ -993,10 +1010,27 @@ input[type=number]::-webkit-outer-spin-button {
transition: opacity 0.3s ease;
border: 1px solid var(--hacker-border);
z-index: 1000;
box-shadow: 6px 6px 0px 0px, 0 0 5000px 5000px #00000070;
}

.tooltip:hover::after {
display: block;
opacity: 1;
visibility: visible;
}

.tooltip::after {
content: attr(data-tooltip);
.additional-help {
font-size: var(--font-size-s);
color: var(--color-text-secondary);
margin-top: var(--space-l);
line-height: 1.5;
height: 3em;
user-select: none;
}

.tamper--script {
font-weight: bold;

}

[title]::after {
Expand Down

AltStyle によって変換されたページ (->オリジナル) /