-
0
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
public static LanguageLevel fromPythonVersion(@Nullable String pythonVersion) {
if (pythonVersion == null) return null;
if (pythonVersion.startsWith("2")) {
if (pythonVersion.startsWith("2.4")) {
return PYTHON24;
}
if (pythonVersion.startsWith("2.5")) {
return PYTHON25;
}
if (pythonVersion.startsWith("2.6")) {
return PYTHON26;
}
if (pythonVersion.startsWith("2.7")) {
return PYTHON27;
}
return DEFAULT2;
}
if (pythonVersion.startsWith("3")) {
if (pythonVersion.startsWith("3.0")) {
return PYTHON30;
}
if (pythonVersion.startsWith("3.1.") || pythonVersion.equals("3.1")) {
return PYTHON31;
}
if (pythonVersion.startsWith("3.2")) {
return PYTHON32;
}
if (pythonVersion.startsWith("3.3")) {
return PYTHON33;
}
if (pythonVersion.startsWith("3.4")) {
return PYTHON34;
}
if (pythonVersion.startsWith("3.5")) {
return PYTHON35;
}
if (pythonVersion.startsWith("3.6")) {
return PYTHON36;
}
if (pythonVersion.startsWith("3.7")) {
return PYTHON37;
}
if (pythonVersion.startsWith("3.8")) {
return PYTHON38;
}
if (pythonVersion.startsWith("3.9")) {
return PYTHON39;
}
if (pythonVersion.startsWith("3.10")) {
return PYTHON310;
}
if (pythonVersion.startsWith("3.11")) {
return PYTHON311;
}
return DEFAULT3;
}
return getDefault();
}
https://github.com/JetBrains/intellij-community/blob/07cef3c4397f026a5f7aa26e783b0bf7dfee5ab2/python/python-psi-api/src/com/jetbrains/python/psi/LanguageLevel.java#L125
DypHuu_niBEHb,
05 Октября 2022
-
−10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
public static String padRight(String s, int n) {
return String.format("%-" + n + "s", s);
}
public static String padLeft(String s, int n) {
return String.format("%" + n + "s", s);
}
How can I pad a String in Java?
https://stackoverflow.com/questions/388461/how-can-i-pad-a-string-in-java/391978
Все ответы восхитительны в своей коричневости.
ISO,
05 Октября 2022
-
0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
import java.security.*
var keys = KeyPairGenerator.getInstance("EC").generateKeyPair();
var blankSignature = new byte[64]; // zero bytes
var sig = Signature.getInstance("SHA256WithECDSAInP1363Format");
sig.initVerify(keys.getPublic());
sig.update("Hello, World".getBytes()); // anything
sig.verify(blankSignature); // true
Сказка о том, как джавушки переписали код с небезопасного языка на безопасный и помножили проверку подписей на ноль (в прямом смысле).
https://neilmadden.blog/2022/04/19/psychic-signatures-in-java/
bormand,
31 Июля 2022
-
0
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
import java.util.InputMismatchException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try {
System.out.println("How many characters will be in the password? (1-256):");
short length = scanner.nextShort();
if (length > 256) {
System.out.println("Password can't be longer than 256 characters!");
} else if (length < 1) {
System.out.println("Password can't be less than 1 character long!");
} else {
System.out.println("How many passwords will be generated? (1-32)");
byte amount = scanner.nextByte();
if (amount > 32) {
System.out.println("You can't generate more than 32 passwords!");
} else if (amount < 1) {
System.out.println("You can't generate less than 1 password!");
} else {
for (byte i = 0; i < amount; i++) {
System.out.println("\n" + PasswordGenerator.generate(length));
}
}
}
} catch (InputMismatchException e) {
System.out.println("Input error!");
}
}
}
cringe
zxc254363,
27 Июля 2022
-
0
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
private void calculateOverallTime() {
if (overallTimeTimer.isTimeOut()) {
if (overallTime[0] <= 58) {
overallTime[0] += 1;
}
else {
overallTime[0] = 0;
if (overallTime[1] <= 58) {
overallTime[1] += 1;
}
else {
overallTime[1] = 0;
overallTime[2] += 1;
}
}
}
}
reboober,
14 Июля 2022
-
−1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
package com.company;
import java.util.Scanner;
public class Main {
public static void main (String [] args) {
Scanner num = new Scanner(System.in);
int first;
System.out.print("Enter first num: ");
first = num.nextInt();
if (first==10)
System.out.print("Num is 10");
}
}
zdavletshin,
12 Мая 2022
-
0
- 1
public static final String EMPTY = "";
Tan seme? Tan seme?!!
Stallman,
28 Апреля 2022
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
public class Spot {
private Piece piece;
private int x;
private int y;
public Spot(int x, int y, Piece piece)
{
this.setPiece(piece);
this.setX(x);
this.setY(y);
}
public Piece getPiece() // метод возвращает объект фигуру
{
return this.piece;
}
public void setPiece(Piece p)
{
this.piece = p;
}
public int getX()
{
return this.x;
}
public void setX(int x)
{
this.x = x;
}
public int getY()
{
return this.y;
}
public void setY(int y)
{
this.y = y;
}
}
Дизайн шахматной игры
Эти виды вопросов задаются на интервью, чтобы судить о навыке объектно ориентированного дизайна кандидата. Итак, прежде всего, мы должны подумать о классах.
https://habr.com/ru/post/660003/
ISO,
10 Апреля 2022
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.InitBinder;
@ControllerAdvice
@Order(10000)
public class BinderControllerAdvice {
@InitBinder
public void setAllowedFields(WebDataBinder dataBinder) {
String[] denylist = new String[]{"class.", "Class.", ".class.", ".Class."};
dataBinder.setDisallowedFields(denylist);
}
}
Критическая 0-day уязвимость в Spring Framework, применяемом во многих Java-проектах
Работа эксплоита сводится к отправке запроса с параметрами "class.module.classLoader.resources.cont ext.parent.pipeline.first.*", обработка которых при использовании "WebappClassLoaderBase" приводит к обращению к классу AccessLogValve. Указанный класс позволяет настроить логгер для создания произвольного jsp-файла в корневом окружении Apache Tomcat и записи в этот файл указанного атакующим кода. Созданный файл становится доступным для прямых запросов и может использоваться в качестве web shell. Для атаки на уязвимое приложение в окружении Apache Tomcat достаточно отправить запрос с определёнными параметрами при помощи утилиты curl.
curl -v -d "class.module.classLoader.resources.context.parent.pipeline
.first.pattern=код_для_вставки_в_файл
&class.module.classLoader.resources.context.parent.pipeline.first.suffix=.jsp
&class.module.classLoader.resources.context.parent.pipeline.first.directory=webapps/ROOT
&class.module.classLoader.resources.context.parent.pipeline.first.prefix=tomcatwar
&class.module.classLoader.resources.context.parent.pipeline.first.fileDateFormat="
http://localhost:8080/springmvc5-helloworld-exmaple-0.0.1-SNAPSHOT/rapid7
3_dar,
04 Апреля 2022
-
0
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
boolean isEven(int number) {
while (number > 2) {
number = number - 2;
}
if (number == 2) {
return true;
} else {
return false;
}
}
Мистер Хэнки,
28 Февраля 2022