Кефтеме
Здесь понадобится Burp и внутренний Остап Бендер:
1. Регаемся и получаем 30 тугриков авансом;
2. Берём какие-то подкрадули, чтобы они входили в текущую сумму;
3. Используем промокод;
4. В бёрпе берём запрос на кэшбэк и пересылаем его в Repeater, чтобы повторить его N-ое количество раз;
5. Получаем профит в K тугриков;
6. Повторяем вышеописанные действия, пока не надоест;
7. "Честно" покупаем все боты за 1747 тугриков;
8. ...
9. PROFIT
Здесь понадобится Burp и внутренний Остап Бендер:
1. Регаемся и получаем 30 тугриков авансом;
2. Берём какие-то подкрадули, чтобы они входили в текущую сумму;
3. Используем промокод;
4. В бёрпе берём запрос на кэшбэк и пересылаем его в Repeater, чтобы повторить его N-ое количество раз;
5. Получаем профит в K тугриков;
6. Повторяем вышеописанные действия, пока не надоест;
7. "Честно" покупаем все боты за 1747 тугриков;
8. ...
9. PROFIT
👍2❤1
Осьмак (или Меня забеала это чёртова капча)
Google Объектив на прилагавшуюся фотку немедленно отправлял в Ереван, в Rooftop Apart Hotel
Оттуда, немного поискав, находим по Яндексу 3D-копию картины
Google Объектив на прилагавшуюся фотку немедленно отправлял в Ереван, в Rooftop Apart Hotel
Оттуда, немного поискав, находим по Яндексу 3D-копию картины
Нехорошие люди находились в левом жёлтом здании по адресу Ереван, ул. Павстоса Бюзанда, д. 97/2, этаж 9
И да, я всё это время думал, что фотография была сделана из камеры самих злоумышленников, не службы охраны
Из-за этого я 100500 раз вводил улицу Арама 60 или 64 и заставил агенство Скеллиге внести меня в чёрный список :(
Вот и все задачи, которые мы успели решить, дальше мы работали над Иваном Царевичем и Сатурниконом, но не смогли :(
Так что теперь жду Ваших райтапов в ЛС: @EvgenyKurmysa
UPD: Иван Грозным, а не Царевичем =/
Так что теперь жду Ваших райтапов в ЛС: @EvgenyKurmysa
UPD: Иван Грозным, а не Царевичем =/
Forwarded from Дядя Кит
1trzy4vvAsY_20230715-081701_060m00s_0720p~INCOMPLETE96aa02c.mkv
12 MB
Миелофононаблюдение.
Идем на стрим, втыкаем пару часов в слегка меняющуюся картинку. Потом вспоминаем, что скоро спать пора и качаем с репы на гитхабе yrewind.
Видим, что где-то в 8:16 миелофон еще был на скамейке и валяем ченить вроде
Конца скачивания не дожидаемся, все равно эта тулза сохраняет в mkv и сразу же идем смотреть на капибару
Идем на стрим, втыкаем пару часов в слегка меняющуюся картинку. Потом вспоминаем, что скоро спать пора и качаем с репы на гитхабе yrewind.
Видим, что где-то в 8:16 миелофон еще был на скамейке и валяем ченить вроде
.\yrewind.exe -url=https://www.youtube.com/watch?v=1trzy4vvAsY -start=20230715:0817 -duration=60Конца скачивания не дожидаемся, все равно эта тулза сохраняет в mkv и сразу же идем смотреть на капибару
👍5
Гнвоерк
Здесь всё относительно просто: надо много терпения, чтобы взять 10 итераций вордла... ну или же воспользоваться тулзой от @dsalakhov:
Здесь всё относительно просто: надо много терпения, чтобы взять 10 итераций вордла... ну или же воспользоваться тулзой от @dsalakhov:
❤1
Forwarded from Дaнияp
Привет, для Гнвоерк написал скрипт:
https://github.com/X-OrBit/MultipleWordleSolver/tree/main
https://github.com/X-OrBit/MultipleWordleSolver/tree/main
GitHub
GitHub - X-OrBit/MultipleWordleSolver: Код для решения нескольких Wordle с соревнования Tinkoff CTF
Код для решения нескольких Wordle с соревнования Tinkoff CTF - X-OrBit/MultipleWordleSolver
❤1🔥1
Forwarded from Дядя Кит
Люди в… каком?
Качаем пнг, смотрим на закодированную пикчу.
Скармливаем сайту картинки размером в несколько пикселей и убеждаемся, что стиратель только меняет местами пиксели, но не их цвет.
Делаем белую картинку размером с flashied.png (точно) и оставляем на ней один яркий пиксель. Видим, что его закинуло в рандомное место.
Добавляем к предыдущей картинке второй пиксель и делаем вывод, что пиксели друг на друга не влияют. Осталось дело за малым - собсна расшифровать пикчу.
Первым делом делаем пикчу такого же размера, но с уникальным цветом каждого пикселя.
Чтобы сохранить расположение пикселя, делаем дбконтекст и модельки для всей этой радости:
Затем рисуем собсна саму пикчу с градиентами
Совсем забыл, для того, чтобы битмап работал сильно быстрее (без накладных расходов на кучу всего) я сделал свой directbitmap с блекджеком и куртизанками. В демонстрационных целях можно с дефолтным.
А еще в net core просто так нет system drawing и поэтому надо подключить пакет Microsoft.Windows.Compatibility
Скармливаем градиент сайту и получаем на выходе нужную нам пикчу. Сопоставляем исходные и конечные позиции
Затем осталось самое простое - сопоставить финальные значения пикчи из условия и заведомо известные исходные значения. Заварите кофейку, оптимизации завезли только чуть-чуть
Ну собсна и все. Конца выполнения можно и не ждать
Качаем пнг, смотрим на закодированную пикчу.
Скармливаем сайту картинки размером в несколько пикселей и убеждаемся, что стиратель только меняет местами пиксели, но не их цвет.
Делаем белую картинку размером с flashied.png (точно) и оставляем на ней один яркий пиксель. Видим, что его закинуло в рандомное место.
Добавляем к предыдущей картинке второй пиксель и делаем вывод, что пиксели друг на друга не влияют. Осталось дело за малым - собсна расшифровать пикчу.
Первым делом делаем пикчу такого же размера, но с уникальным цветом каждого пикселя.
Чтобы сохранить расположение пикселя, делаем дбконтекст и модельки для всей этой радости:
using System.ComponentModel.DataAnnotations;
public class Context : DbContext
{
public Context()
{
DbLoggerCategory.Database.OpenConnection();
Database.EnsureCreated();
}
public DbSet<Pixel> Pixels { get; set; }
// The following configures EF to create a Sqlite database file in the
// special "local" folder for your platform.
protected override void OnConfiguring(DbContextOptionsBuilder options) =>
options.UseSqlite("Data Source=C:\\Games\\vms\\memory\\data.db");
}
public class Pixel
{
public Pixel(int colorArgb, int beforeX, int beforeY, int afterX, int afterY)
{
ColorArgb = colorArgb;
BeforeX = beforeX;
BeforeY = beforeY;
AfterX = afterX;
AfterY = afterY;
}
[Key]
public int ColorArgb { get; set; }
public int BeforeX { get; set; }
public int BeforeY { get; set; }
public int AfterX { get; set; }
public int AfterY { get; set; }
}
Затем рисуем собсна саму пикчу с градиентами
using System.Drawing;
#pragma warning disable CA1416
var dbitmap = new DirectBitmap(777, 437);
for (var x = 0; x < dbitmap.Width; x++)
for (var y = 0; y < dbitmap.Height; y++)
{
var r = x % 255;
var g = y % 255;
var b = (x / 255 + 1) * (y / 255 + 10);
dbitmap.SetPixel(x, y, Color.FromArgb(r, g, b));
db.Pixels.Add(new Pixel(Color.FromArgb(r, g, b).ToArgb(), x, y, 0, 0));
}
dbitmap.Bitmap.Save("C:\\Games\\vms\\memory\\gradient.png");
db.SaveChanges();
Совсем забыл, для того, чтобы битмап работал сильно быстрее (без накладных расходов на кучу всего) я сделал свой directbitmap с блекджеком и куртизанками. В демонстрационных целях можно с дефолтным.
А еще в net core просто так нет system drawing и поэтому надо подключить пакет Microsoft.Windows.Compatibility
Скармливаем градиент сайту и получаем на выходе нужную нам пикчу. Сопоставляем исходные и конечные позиции
using var db = new Context();
var bitmap = new Bitmap("C:\\Games\\vms\\memory\\noname.png");
for (var x = 0; x < bitmap.Width; x++)
for (var y = 0; y < bitmap.Height; y++)
{
var pixel = bitmap.GetPixel(x, y);
var dbpixel = db.Pixels.First(p => p.ColorArgb == pixel.ToArgb());
dbpixel.AfterX = x;
dbpixel.AfterY = y;
}
db.SaveChanges();
Затем осталось самое простое - сопоставить финальные значения пикчи из условия и заведомо известные исходные значения. Заварите кофейку, оптимизации завезли только чуть-чуть
using var db = new Context();
var bitmap = new Bitmap("C:\\Games\\vms\\memory\\flashiedю3.png");
var dbitmap = new DirectBitmap(777, 437);
var pixels = db.Pixels.ToList();
pixels.Sort((p1, p2) => p1.AfterX.CompareTo(p2.AfterX));
for (var x = 0; x < bitmap.Width; x++)
{
Stopwatch sw = new Stopwatch();
sw.Start();
for (var y = 0; y < bitmap.Height; y++)
{
var pixel = bitmap.GetPixel(x, y);
var dbpixel = pixels.First(p => p.AfterX == x && p.AfterY == y);
dbitmap.SetPixel(dbpixel.BeforeX, dbpixel.BeforeY, pixel);
}
sw.Stop();
Console.WriteLine(sw.Elapsed);
Console.WriteLine(x);
if(x % 5 == 0)
dbitmap.Bitmap.Save("C:\\Games\\vms\\memory\\flag4.png");
}
Ну собсна и все. Конца выполнения можно и не ждать
👍1💩1
Forwarded from Дядя Кит
Иван Васильевич
Тут вообще ничего сложного нет. Читаем на вики про CVE, читаем на вики про JPG, открываем любым бинарным редактором и стираем из середины метку конца 0xFFD9
Потом читаем еще раз спеку и расшишериваем пикчу редактированием метки 0xFFC0 (на пикче line NB и samples/line)
Вниз можно расшишеривать пока совесть позволяет, а вот в сторону придется подобрать (читаем про бинарный поиск или тупо брутфорсим скриптом).
Кода не будет, я его успешно потер, но там где-то около 350-400 семплов.
Внимание, подвох: в браузере, телеге, виндовых фотографиях и иже с ними вы ничо не увидите. Лично я открывал в JB Rider
Тут вообще ничего сложного нет. Читаем на вики про CVE, читаем на вики про JPG, открываем любым бинарным редактором и стираем из середины метку конца 0xFFD9
Потом читаем еще раз спеку и расшишериваем пикчу редактированием метки 0xFFC0 (на пикче line NB и samples/line)
Вниз можно расшишеривать пока совесть позволяет, а вот в сторону придется подобрать (читаем про бинарный поиск или тупо брутфорсим скриптом).
Кода не будет, я его успешно потер, но там где-то около 350-400 семплов.
Внимание, подвох: в браузере, телеге, виндовых фотографиях и иже с ними вы ничо не увидите. Лично я открывал в JB Rider
Forwarded from Дядя Кит
Бредущий по лезвию
Тут тоже все максимально просто.
Заходим, видим 403, выходим.
Открываем консоль, пишем
Видим чета на 9090. Открываем свой богатый жизненный опыт, широкий кругозор и вспоминаем, что на 9090 порту обычно обитает прометеус. Идем на адрес
Идем по этому домену, дописываем в конец /storage и смотрим на флаг
Тут тоже все максимально просто.
Заходим, видим 403, выходим.
Открываем консоль, пишем
nmap -p0- %url%Видим чета на 9090. Открываем свой богатый жизненный опыт, широкий кругозор и вспоминаем, что на 9090 порту обычно обитает прометеус. Идем на адрес
.spbctf.ru:9090/metrics и наблюдаем там статистику от its-private-domain-for-secure-android-storage.Идем по этому домену, дописываем в конец /storage и смотрим на флаг
Forwarded from Дaнияp
galya.py
5.7 KB
Великая отмена
введем в коде две рандомные почты
запускаем код в несколько процессов, сначала ~5-10 canceler'ов, после один sender
скрипт автоматически создаст аккаунты и начнет отменять одну и ту же транзакцию, в следствие чего, в первом аккаунте будут фармятся шиитакоины
далее вручную покупаем чайный гриб и получаем нужный флаг (данные от аккаунта будут лежать в папке accounts около скрипта)
введем в коде две рандомные почты
запускаем код в несколько процессов, сначала ~5-10 canceler'ов, после один sender
скрипт автоматически создаст аккаунты и начнет отменять одну и ту же транзакцию, в следствие чего, в первом аккаунте будут фармятся шиитакоины
далее вручную покупаем чайный гриб и получаем нужный флаг (данные от аккаунта будут лежать в папке accounts около скрипта)
Forwarded from Дaнияp
вот еще райтапчик на великую отмену :)