~/talk

A Race To The Bottom: Database Transactions Undermining Your AppSec

links:none on file
slides:none on file

Shows a concrete failure mode: concurrent transfers let ten requests overdraw an account because defaults allow reads without locks. Reproduces it with a Go snippet and local multithreaded clients, then scales attack suggestions using turbo Intruder and Burp to beat network jitter. Demonstration logs reveal interleaved transaction operations on PostgreSQL/MySQL variants; the fix list is specific: FOR UPDATE or versioned optimistic locking, raise isolation to serializable (or appropriate snapshot level), and add concurrent-unit tests that retry failed transactions.

AI-written summary · about

  1. 0:00Introduction
  2. 1:07Databases as black boxes
  3. 3:16Live demo: bank transfer
  4. 5:05Race condition in transfers
  5. 8:16Database locks and concurrency
  6. 10:01SQL read phenomena explained
  7. 13:54Race conditions in multithreading
  8. 15:18Exploiting the race condition
  9. 19:33Impact on microservices
  10. 21:37Exploitation techniques
  11. 24:02Fixing with optimistic locking
  12. 25:26Pessimistic locking
  13. 28:15Transaction isolation deep dive
  14. 31:47Database implementation differences
  15. 33:12Detecting unsecured transactions
  16. 34:16Real-world exploits
  17. 34:58Key takeaways
  18. 36:44Q&A
  19. 38:31Q&A
  20. 40:20Q&A
  21. 41:45Closing remarks
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.