| ▲ | camdenreslink 2 days ago | |||||||||||||||||||||||||||||||
I don't think strong development teams are still letting SQL injection vulnerabilities through by manually concatenating strings to build queries with user-provided data. Not in the year 2026. | ||||||||||||||||||||||||||||||||
| ▲ | voxic11 2 days ago | parent | next [-] | |||||||||||||||||||||||||||||||
Keep in mind this project is a 25 year old PHP application. | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | simonw 2 days ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
Good frameworks can protect against SQL injection and XSS (through default escaping of output variables) but protecting against insecure direct object access is a lot harder. | ||||||||||||||||||||||||||||||||
| ▲ | tdeck a day ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
Last time I had to build an ORDER BY clause in MySQL, it didn't support query parameters in prepared statements, which is probably how this happens. It's not an excuse at all but the standard path of "just throw a ? (or whatever) in there and use bound params" doesn't work for order by (or at least it didn't at some time in the recent past). You would end up having to concatenate strings somehow or other. | ||||||||||||||||||||||||||||||||
| ▲ | IshKebab 2 days ago | parent | prev [-] | |||||||||||||||||||||||||||||||
Yeah this is a huge red flag that would make me avoid this project for sure. Unfortunately you have no easy way of checking if closed source projects are similarly amateur. | ||||||||||||||||||||||||||||||||