-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Exploit heuristics & task limit #51
Conversation
마무리 된건가요 진행중인가요? |
더 복잡할 줄 알았는데 생각보다 바뀐 코드 양은 적네요 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
돌려 보면 좋지만 강수님을 믿고 승인합니다
개인적으로 테스트 해본 다음에 머지하겠습니다 |
d50cc96
to
91363a3
Compare
249b3df
to
6b2c415
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
딱 한 가지 PR 승인 전에 고쳐야 한다고 생각하는게 failure
입니다. owl exploit failure
만 보고서는 무슨 커맨드인지 알 수가 없어 개선이 필요합니다. 지금 당장 떠오르는 이름이 없더라도 최소한 run-all
처럼 update-failure
또는 update-fail-count
정도의 설명은 있어야 한다고 봅니다. 아래는 관련 선언 목록입니다.
owl-cli: exploit.rs
의 SubCommandfailure
owl-rpc: lib.rs
의 RPC 선언의failure_exploit
owl-rpc: model/exploit.rs
의ExploitFailureParams
owl-daemon: handler/exploit.rs
의failure_exploit
owl-daemon: lib.rs
의FailureExplotFut
과fn failure_exploit
exploit_targets::service_variant_id | ||
.eq(service_provider.service_variant_id), | ||
), | ||
); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이거 트랜잭션 걸면 괜찮은가 싶어서 찾아봤는데 문제가 생길 수 있는 부분이긴 하네요.
https://blog.sapzil.org/2017/04/01/do-not-trust-sql-transaction/
Ok(()) | ||
} | ||
}, | ||
Err(_) => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ExploitTarget 업데이트 할 때마다 이렇게 존재 유무 체크하는것보다 exploit ID랑 service variant ID 받아서 없으면 만들어주는 함수 하나 만드는게 좋아 보이는데 나중에 합시다
arg_match_numeric_none -> parse_numeric_or_none arg_match_numeric_disable -> parse_numeric_or_disable
failure_count -> current_failure_count Indentation issues Log message improvements
DEFCON 시즌이 찾아와 다시 부활했습니다. 미해결된 몇가지 CR도 있지만, 저희가 처음에는 이 기능을 이렇게 해놓으면 추후에 추가적인 규칙들을 구현해볼 수도 있습니다. 예시로, '10번 연속 실패하면 실행을 멈추지만 아직 15번 이상 실행된 적이 없다면 계속 한다.' 같은 추가적인 옵션을 생각해볼 수 있습니다. 일단 이런 방향성을 생각해두고 있습니다. 이 PR이 머지되는대로, 전체적인 코드 정리를 수행할 계획(#61) 입니다. |
CTF가 시간 제한이 있다 보니 룰을 실제로 구현할만한 상황이 될지 약간 걱정이 되지만, 휴리스틱 구현을 위해 스크립팅을 지원하는 아이디어 자체는 참신하고 좋습니다. |
Fixes #54