Skip to content

Instantly share code, notes, and snippets.

@jsyeo
Last active August 29, 2015 14:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save jsyeo/1408e06e25da2d0bd521 to your computer and use it in GitHub Desktop.
Save jsyeo/1408e06e25da2d0bd521 to your computer and use it in GitHub Desktop.
Object Equals
public class Main {
public static void main(String[] args) {
VulnerableClass a = new VulnerableClass(1);
VulnerableClass b = new VulnerableClass(2);
a.equals(b);
}
}
class VulnerableClass {
int i;
public VulnerableClass(int i) {
this.i = i;
}
private void vulnerableMethod() {
}
@Override
public boolean equals(Object obj) {
// I am vulnerable
vulnerableMethod();
return i == ((VulnerableClass) obj).i;
}
}
class HarmlessClass {
@Override
public boolean equals(Object obj) {
return super.equals(obj);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment