search / indexx.html
enotkrutoy's picture
Rename index.html to indexx.html
f97712b verified
raw
history blame
12.1 kB
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Поиск в Google</title>
<style>
body {
background-color: #1a1a1a;
color: #ffffff;
font-family: 'Courier New', monospace;
margin: 0;
padding: 0;
}
.container {
max-width: 800px;
margin: 20px auto;
text-align: center;
padding: 20px;
border-radius: 10px;
background-color: #2d2d2d;
box-shadow: 0 0 15px rgba(0,0,0,0.3);
}
.search-input {
width: 70%;
padding: 12px 20px;
margin: 8px 0;
display: inline-block;
border: 1px solid rgba(255,255,255,0.1);
border-radius: 4px;
box-sizing: border-box;
background-color: #333333;
color: #ffffff;
font-family: 'Courier New', monospace;
}
.search-input:focus {
outline: none;
border-color: #4CAF50;
}
.search-button {
width: 15%;
background-color: #4CAF50;
color: white;
padding: 14px 20px;
margin: 8px 0;
border: none;
border-radius: 4px;
cursor: pointer;
transition: background-image 0.3s;
background-image: linear-gradient(to bottom, #4CAF50, #45a049);
font-family: 'Courier New', monospace;
}
.search-button:hover {
background-image: linear-gradient(to bottom, #45a049, #4CAF50);
}
.examples {
margin-top: 30px;
padding: 20px;
background-color: #333333;
border-radius: 10px;
}
.examples h2 {
color: #4CAF50;
margin-bottom: 20px;
font-family: 'Courier New', monospace;
}
.examples-list {
list-style-type: none;
padding: 0;
}
.examples-list li {
margin: 10px 0;
padding: 15px;
background-color: #2d2d2d;
border-radius: 5px;
cursor: pointer;
transition: all 0.3s;
border: 1px solid rgba(76, 175, 80, 0.2);
}
.examples-list li:hover {
background-color: #333333;
transform: translateX(5px);
box-shadow: 2px 2px 5px rgba(76, 175, 80, 0.2);
}
.examples-list li strong {
color: #4CAF50;
font-family: 'Courier New', monospace;
}
.copy-indicator {
position: absolute;
right: 10px;
top: 10px;
color: #4CAF50;
font-size: 14px;
opacity: 0;
transition: opacity 0.3s;
}
.copy-indicator.show {
opacity: 1;
}
.select-pages {
width: 100px;
padding: 8px;
margin: 10px 0;
background-color: #333333;
color: #4CAF50;
border: 1px solid #4CAF50;
border-radius: 4px;
font-family: 'Courier New', monospace;
}
.select-pages:focus {
outline: none;
border-color: #4CAF50;
box-shadow: 0 0 5px rgba(76, 175, 80, 0.3);
}
img {
width: 100px;
margin: 10px;
border-radius: 5px;
box-shadow: 0 0 10px rgba(0,0,0,0.3);
}
</style>
</head>
<body>
<div class="container">
<img src="https://i.pinimg.com/originals/bc/e4/c0/bce4c082e2a1c2ec016351228f782a4a.gif" alt="Hack logo"/>
<form id="searchForm">
<input id="searchInput" type="text" class="search-input" placeholder="Введите ваш запрос для поиска"/>
<button type="submit" class="search-button">Поиск</button>
</form>
<select id="pagesSelect" class="select-pages">
<option value="1" selected>1 страница</option>
<option value="2">2 страницы</option>
<option value="3">3 страницы</option>
<option value="4">4 страницы</option>
<option value="5">5 страниц</option>
<option value="6">6 страниц</option>
<option value="7">7 страниц</option>
<option value="8">8 страниц</option>
<option value="9">9 страниц</option>
<option value="10">10 страниц</option>
</select>
<select id="windowsSelect" class="select-pages">
<option value="1" selected>1 окно</option>
<option value="2">2 окна</option>
<option value="3">3 окна</option>
<option value="4">4 окна</option>
<option value="5">5 окон</option>
<option value="6">6 окон</option>
<option value="7">7 окон</option>
<option value="8">8 окон</option>
<option value="9">9 окон</option>
<option value="10">10 окон</option>
</select>
<div id="message"></div>
<div class="examples">
<h2>Примеры запросов для поиска уязвимостей</h2>
<ul class="examples-list">
<li onclick="copyToClipboard('intitle:index.of filetype:php')">
<strong>Поиск открытых директорий:</strong><br>
intitle:index.of filetype:php
<span class="copy-indicator">скопировано</span>
</li>
<li onclick="copyToClipboard('filetype:txt intext:password | intext:passwd')">
<strong>Поиск файлов с паролями:</strong><br>
filetype:txt intext:password | intext:passwd
<span class="copy-indicator">скопировано</span>
</li>
<li onclick="copyToClipboard('filetype:conf inurl:config')">
<strong>Поиск конфигурационных файлов:</strong><br>
filetype:conf inurl:config
<span class="copy-indicator">скопировано</span>
</li>
<li onclick="copyToClipboard('filetype:log intext:error | intext:failed')">
<strong>Поиск файлов с логами:</strong><br>
filetype:log intext:error | intext:failed
<span class="copy-indicator">скопировано</span>
</li>
<li onclick="copyToClipboard('inurl:.* -intext:github')">
<strong>Поиск файлов с расширением .* (скрытые файлы):</strong><br>
inurl:.* -intext:github
<span class="copy-indicator">скопировано</span>
</li>
<li onclick="copyToClipboard('inurl:wp-config.php | inurl:database.php')">
<strong>Поиск файлов с * (другие специфические паттерны):</strong><br>
inurl:wp-config.php | inurl:database.php
<span class="copy-indicator">скопировано</span>
</li>
<li onclick="copyToClipboard('filetype:conf intext:username | intext:password')">
<strong>Поиск файлов с расширением .conf:</strong><br>
filetype:conf intext:username | intext:password
<span class="copy-indicator">скопировано</span>
</li>
<li onclick="copyToClipboard('filetype:bak inurl:password | inurl:config')">
<strong>Поиск файлов с расширением .bak:</strong><br>
filetype:bak inurl:password | inurl:config
<span class="copy-indicator">скопировано</span>
</li>
<li onclick="copyToClipboard('filetype:old intext:secret | intext:credentials')">
<strong>Поиск файлов с расширением .old:</strong><br>
filetype:old intext:secret | intext:credentials
<span class="copy-indicator">скопировано</span>
</li>
<li onclick="copyToClipboard('filetype:swp intext:login | intext:auth')">
<strong>Поиск файлов с расширением .swp:</strong><br>
filetype:swp intext:login | intext:auth
<span class="copy-indicator">скопировано</span>
</li>
</ul>
</div>
</div>
<script>
function copyToClipboard(text, evt) {
if (navigator.clipboard && window.isSecureContext) {
navigator.clipboard.writeText(text).then(() => {
var indicator = evt ? evt.target.querySelector('.copy-indicator') : document.querySelector('.copy-indicator');
if (indicator) {
indicator.classList.add('show');
setTimeout(() => indicator.classList.remove('show'), 2000);
}
}).catch(() => {
fallbackCopyText(text, evt);
});
} else {
fallbackCopyText(text, evt);
}
}
function fallbackCopyText(text, evt) {
var copyElement = document.createElement("div");
copyElement.style.position = "absolute";
copyElement.style.left = "-9999px";
copyElement.setAttribute("contenteditable", "true");
copyElement.textContent = text;
document.body.appendChild(copyElement);
var range = document.createRange();
range.selectNodeContents(copyElement);
var selection = window.getSelection();
selection.removeAllRanges();
selection.addRange(range);
try {
document.execCommand("copy");
var indicator = evt ? evt.target.querySelector('.copy-indicator') : document.querySelector('.copy-indicator');
if (indicator) {
indicator.classList.add('show');
setTimeout(() => indicator.classList.remove('show'), 2000);
}
} catch (err) {
console.error("Fallback: Unable to copy", err);
}
document.body.removeChild(copyElement);
}
document.getElementById('searchForm').addEventListener('submit', function(e) {
e.preventDefault();
var searchQuery = document.getElementById('searchInput').value;
var maxWindows = parseInt(document.getElementById('windowsSelect').value, 10);
searchGoogle(searchQuery, maxWindows);
});
function searchGoogle(search, maxWindows = 1) {
if (typeof search !== 'string' || search.trim() === '') {
console.error('Поисковый запрос должен быть строкой и не должен быть пустым.');
return;
}
var words = search.split(" ").filter(Boolean);
var wordsCount = words.length;
if (wordsCount >= 32) {
console.error('Количество слов в поисковом запросе должно быть меньше 32.');
return;
}
var o = 32 - wordsCount;
if (o <= 0) {
console.error('Ошибка в расчете o.');
return;
}
var template = "site:*.*.%NUM%.* |";
var query = "";
var urls = [];
var maxUrls = Math.min(maxWindows, 10);
try {
for (var i = 0; i < Math.floor(256 / o) && i < maxUrls; i++) {
query = "";
for (var ii = 0; ii < (257 - (i * o)); ii++) {
query += template.replace("%NUM%", ii);
}
query = query.slice(0, -1);
query = "(" + search + ") (" + query + ")";
var url = "https://www.google.com/search?q=" + encodeURIComponent(query);
urls.push(url);
}
urls.forEach(function(url, index) {
setTimeout(function() {
window.open(url, '_blank', 'noreferrer');
}, index * 1000);
});
} catch (error) {
console.error('Произошла ошибка:', error);
}
}
</script>
</body>
</html>