For popular contracts like OpenZeppelin, Uniswap, Sushiswap, etc two kinds of hashes were computed: md5 hashsums & simhashes. Using hashsums we can find exact matches of contract sources. With simhashes it is possible to find contracts that are very similar to each other.
EtherScan does not verify the integrity of the included libs. With https://contract-diff.xyz you can quickly figure out which versions of libs are actually used. If a hashsum is not found in the database, but there is a contract with a similar simhash you will see a diff view.
One example is Uranium hack which was a fork of Uniswap v2:
I am planning to add more chains (currently only Ethereum mainnet & BSC) as well as support more contract flatenners (they are really weird). Will appreciate any feedback. Cheers!
Adobe Experience Manager is content management system that is based on Apache Sling – a framework for RESTful web-applications based on an extensible content tree. Apache Sling in its turn is basically a REST API for Apache Jackrabbit, which is an implementation of Content Repository API for Java (JCR). The main principle of JCR is that everything is a resource. It means that any object in JCR repository can be retrieved in multiple ways depending on requested selector. E.g. if you make a request to /index.html you will get an HTML page, but if you replace .html with a .json selector you can get metadata of this resource:
{
"jcr:primaryType":"cq:Page",
"jcr:createdBy":"transport-user",
"jcr:created":"Mon Jun 13 2018 22:09:46 GMT+0000"
}
AEM installations typically have lots of hidden gems (even password hashes) if selectors are improperly configured. aemscan helps to discover such weaknesses and much more:
Default credentials bruteforce
Info leak via default error page
WebDav support check (WebDav OSGI XXE CVE-2015-1833)
Radamsa is a cool tool that combines a set of fuzzers which generate data based on input string. You can feed it a PDF file for example and Radamsa will produce a bunch of PDF-alike documents that are fuzzed in all imaginable forms. Just see this:
Perfect for looking for all kinds of buffer overflows. And this tool can be especially useful combined with Burp Suite, that is why here is quick and dirty extension that enables you to use Radamsa to generate Burp Suite’s Intruder payloads:
Grab the code here: https://github.com/Raz0r/burp-radamsa
Не секрет, что идеальных сканнеров уязвимостей не существует, особенно если такой сканнер стремится быть универсальным. Как правило, чем выше поле действия сканнера, тем ниже скорость работы, а также процент его эффективности. Эту идею подтверждает проект OWASP Joomla Vulnerability Scanner, который нацелен на самую популярную CMS. Испытав сканнер, я остался очень доволен результатами и решил написать нечто подобное для другого не менее известного продукта – CMS Drupal.
Drupal заслуженно является одной из самых безопасных CMS. Поддержка безопасности CMS в отличие от, к примеру, WordPress находится на более высоком уровне благодаря активному тестированию CMS специальной группой Drupal Security Team и своевременному выпуску патчей и апдейтов, что подтверждается доверием пользователей. Тем не менее, как и у любого популярного веб-приложения, у Drupal есть свои уязвимости, что и послужило основнанием для создания простого сканнера.
Представляю новый релиз – самый короткий в мире веб-шелл на PHP (всего 10 байт), серьезно не воспринимать! =) Итак, та-дам:
<?=@`$c`?>
Если код показался вам непонятным, то сейчас я постараюсь доступно его объяснить. Прежде всего вместо стандартного <?php … ?> используется <?= … ?>, что эквивалентно <? echo … ?>; требуется включенная опция short_open_tag в php.ini. Для подавления ошибок (так как переменная не инициализирована) используется известный прием: перед выражением ставим @. Собственно выполнение команд реализовано с помощью обратных кавычек (backticks) – довольно хитрый прием, о котором знает далеко не каждый. Например, внедрив строку echo @`$c` в другой скрипт, мы имеем незаметный бэкдор, который очень трудно найти. Плюсы моего шелла: размер! Минусы: нужны short_open_tag и register_globals
Собственно вот и обещанная мной функция для обработки данных, поступающих от пользователя. Для получения одной переменной вызываем так (какие аргументы передавать думаю и так ясно):
<?php
$var = import_var('var','G','INT',3);
?>
Для получения одновременно нескольких однотипных переменных вызов функции немного отличается:
Опубликовано в журнале “Хакер” #108, X-Tools PHP Bug Scanner – это программа, предназначенная для того, чтобы сделать процесс поиска уязвимостей в PHP-приложениях более удобным и быстрым. Она основана на сканировании различных функций и переменных в PHP-скриптах, которые могут привести к возможным уязвимостям.
Возможности:
возможность сканирования как множества файлов, так и одного скрипта
система пресетов: вы можете добавлять новые функции, изменять или удалять их
возможность загрузки и сохранения своих пресетов
7 специальных пресетов, сгруппированных по категориям:
code execution
command execution
directory traversal
globals overwrite
include
sql injection
miscellaneous
сохранение и загрузка результатов
сортировка результата по имени скрипта, номеру строки или функции, которая была найдена
быстрый обзор скрипта с подсветкой кода и пронумерованными строками
вычисление хэшей Zend_hash_del_key_or_index
String 2 chr() converter – представление строки в виде ASCII-символов в соответствии с синтаксисом PHP
Написан на PHP & WinBinder, скомпилировано bamcompile Версия 1.0
SQLBruter – многофункциональный скрипт, реализующий перебор различными методами при атаках типа SQL Injection. При запросах с использованием UNION очень часто требуется определить количество выбираемых полей, названия таблиц и стобцов. Все это можно сделать с помощью моего скрипта. Кроме этого, SQLBruter осуществляет посимвольный перебор, т.е. с использованием конструкций типа “AND ascii(lower(substring([query],1,1))) > 97” и т.д. Важно сказать, что вам не придется указывать позицию символа – нужно лишь указать запрос и строку, возвращенную сервером, и в итоге вы получите полное содержание поля (например с хешем). Также в скрипте предусмотрено выведение результатов в файл и использование прокси. (more…)