LINUX.ORG.RU

Авторизация на каком-то сайте про линуксы

 , , ,


0

1

Подскажите, у кого-нибудь получается залогиниться программно на ЛОРе? Пытаюсь сделать уведомлялку себе на телефон, но на все попытки залогиниться получаю 403. Вот код на всякий случай(Android если это важно) -

final HttpsURLConnection cn = (HttpsURLConnection) new URL("https://www.linux.org.ru//login_process").openConnection();
cn.setRequestMethod("POST");
String charset = "UTF-8";
String query = "csrf=" + URLEncoder.encode("myMS4KQMs9rc40AXyaKG1w==", charset) + "&user=pseudo-cat" + "&passwd=areukidding";
cn.setRequestProperty("Accept-Charset", charset);
cn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
cn.setRequestProperty("Content-Length", "" + Integer.toString(query.getBytes().length));
cn.setRequestProperty("Content-Language", "en-US");
cn.setRequestProperty("USER-AGENT", "Mozilla/5.0");
OutputStream os = cn.getOutputStream();
byte[] bdata = query.getBytes(charset);
os.write(bdata);

cn.connect();
int responseCode= cn.getResponseCode();

Сейчас бы в 2017 когда у сайтов не было открытых API)

Сейчас бы XXX

Что за странный оборот речи, набирающий популярность?

Chaser_Andrey ★★★★★
()

csrf

Обычно сначала читают страницу GETом, получают csrf, а потом используют в POSTах. Да, и куки так же.

bvn13 ★★★★★
()
mikhail@nova ~ $ curl --cookie "CSRF_TOKEN=1" -d"csrf=1&nick=jollheef&passwd=${PASSWORD}" https://www.linux.org.ru/ajax_login_process
{                                                                             
  "username" : "jollheef",                      
  "loggedIn" : true                           
}%                      
Deleted
()
Ответ на: комментарий от conformist

зависит от. иногда в meta-тегах, иногда в hidden input-ах.

Но корсы живут в рамках сессии (если там настоящая секурность). Поэтому надежно получать их ГЕТом перед ПОСТом.

bvn13 ★★★★★
()
Последнее исправление: bvn13 (всего исправлений: 1)
Ответ на: комментарий от bvn13

csrf генерируется сервером когда шлёт форму клиенту, а при отправке формы отдаётся обратно серверу. Это всё происходит исключительно в cookies, незаметно для клиента.

Таким образом сервер знает что эта форма пришла от того же клиента, которому он её отдал.

Поэтому надежно получать их ГЕТом перед ПОСТом.

А вот с этим полностью согласен.

conformist ★★★
()
Последнее исправление: conformist (всего исправлений: 1)
Ответ на: комментарий от Deleted

@jollheef спасибо тебе огромное, ты крут! что я только не делал пока не поставил csrf=1

pseudo-cat ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.