当前位置: 首页 > news >正文

通用网站后台管理系统(php版)硬件开发面试题

通用网站后台管理系统(php版),硬件开发面试题,企业用什么邮箱比较好,备案个人网站名称推荐靶场搭建 靶场下载 #xff1a; https://github.com/whgojp/JavaSecLab这个靶场是使用Springboot搭建的所以不要下载 jar 文件运行#xff0c;要使用IDEA运行他的文件夹 先打开pom 然后进行maven一下 改一下端口 配置完成之后修改一下 运行的模式 使用phpstudy搞一个sql数…靶场搭建 靶场下载  https://github.com/whgojp/JavaSecLab这个靶场是使用Springboot搭建的所以不要下载 jar 文件运行要使用IDEA运行他的文件夹 先打开pom 然后进行maven一下 改一下端口 配置完成之后修改一下 运行的模式 使用phpstudy搞一个sql数据库 导入sql文件 运行应用 SQL注入 先了解一下sql注入的修复形式和漏洞成因 成因说白了就是使用字符串拼接的形式进行查询数据库才导致数据的恶意插入       修复形式就是把字符串拼接的形式改为预编译预编译分为函数的调用和形式的调用如果只是调用了函数那还是会造成sql问题 第一类JDBC JDBC数据库是一种通过API接口进行数据存储交互的形式 所以它是可以加载远程的数据库的 先看payload 1 and updatexml(1,concat(0x7e,(SELECT user()),0x7e),1) AND 11 这是个报错注入 从白盒角度去审计一下 场景二是 漏洞出现的原因 sql语句仍是拼接模式下的 安全场景 第二类MyBatis 还有个注意点就是  #{}  这样处理下 {} 内的内容 会转为字符串 介绍一下Mybatis 数据库 他的配置和jdbc完全是不一样的 他不是和JDBC一样使用一个单个的文件进行处理 所以他的安全问题按理来说是非常好的 但是就是因为    #{}  这样处理下 {} 内的内容 会转为字符串 所以一些如order by 1  如果使用     #{}   1会被转为字符串  但是 by后面跟的必须是int数字 所以会报错   这样的话程序员就只能使用 ${} 进行字符串的拼接  所以就能使用在这个点上进行注入  可以先把前面的整数进行闭合就能进行注入语句的插入 Order by 漏洞问题 语句 1 and updatexml(1,concat(0x7e,(SELECT user()),0x7e),1) AND 11 漏洞点 通过审计处理 就是因为 ${} % 和 Like模糊匹配 安全问题 审计一下 上面的多余代码 // Controller层 public R special1OrderBy() {ListSqli sqlis new ArrayList(); //新创一个数据库数据交互列表switch (type) { //选择 查询的类型 case raw: //原始类型 sqlis sqliService.orderByVul(field); //这个是引用mapping 层的那个 ${} 拼接执行break;case prepareStatement: //这个就是使用预编译参数 sqlis sqliService.orderByPrepareStatement(field); //这个是执行的是mapping 中的#{}break;case writeList: // 使用白名单模式sqlis sqliService.orderByWriteList(field);... // Service层 //自定义SQL-使用#{} Override //服务层就是对查询的数据进行回显 public ListSqli orderByVul(String field) {return sqliMapper.orderByVul(field); } Override public ListSqli orderByPrepareStatement(String field) {return sqliMapper.orderByPrepareStatement(field); } Override public ListSqli orderByWriteList(String field) {return sqliMapper.orderByWriteList(field); } in 后参数问题 我们知道  第三类  Hibernate 这个漏洞仍然是 原生的拼接导致的 预编译的使用并不是执行的代码不管用了  而是被当做了字符串 第四类 SPA 缺陷仍然是原生 小结SQl注入 以上四个不是数据库而是数据库处理的框架  他们的本意就是优化数据库到代码中间的操作 黑盒测试就是使用找参数点 然后盲注 白盒 需要先分辨数据库 最容易分辨的  MyBatis所以他的判断就是 在maping文件中看是否有三个危险的语句 其他的就是寻找 控制器有没有相应的配置 找到数据库之后就先找 语句是否使用拼接模式  或者看是否使用预编译 各个数据的预编译 -JDBC 1、采用Statement方法拼接SQL语句 2、PrepareStatement会对SQL语句进行预编译但如果直接采取拼接的方式构造SQL此时进行预编译也无用。 3、JDBCTemplate是Spring对JDBC的封装如果使用拼接语句便会产生注入 4、自定义过滤黑白名单 安全写法SQL语句占位符? PrepareStatement预编译-Hibernate 1、setParameter预编译 2、username:username 预编译-JPA 1、username:username 预编译XXE漏洞 XXE类似于反序列化  不过就是xml框架的权限比较高可以支持直接进行一些修改框架插入恶意代码就能执行一些命令 XXE的前提是项目没有禁用外部的实体一般是不会禁用的 他主要就是解析 内的内容实现注入 代码审计SINK点1、XMLReader2、SAXReader3、DocumentBuilder4、XMLStreamReader5、SAXBuilder6、SAXParser7、SAXSource8、TransformerFactory9、SAXTransformerFactory10、SchemaFactory11、Unmarshaller12、XPathExpression RCE 白盒审计下的相关函数 命令执行 1、ProcessBuilder Runtime.getRuntime().exec() 3、ProcessImpl 代码执行  Groovy代码注入
http://www.tj-hxxt.cn/news/140240.html

相关文章:

  • 上鼎工程建设有限公司网站谷歌play商店官网
  • php网站开发案例教程专业网站推广优化
  • 网站建设怎么引流做 爱 网站视频短片
  • 创意专业网站建设在线制作网站公章
  • 太原适合网站设计地址网站建设好的
  • 建湖网站建设wordpress腾讯地图插件
  • 网站图片加alt西宁百度seo
  • 秦皇岛网站制作与网站建设公司外贸网站建设注意事项
  • 手机网站打开很慢注册公司费用大概多少
  • 下载网站站开发菏泽建设公司网站
  • 网站建设技术服务公司行业门户网站开发
  • 四川省建设工程质量监督总站网站广告设计哪个网站好
  • 高端网站建设哪些好丹阳杨文军
  • 培训教材网站建设宝塔ssl文件位置wordpress
  • 小米商城的网站建站网站开发栏目需求1
  • 建设网站需要两种服务支持网站建设网上接单
  • 深圳专业网站制作技术企业公司如何做网站
  • 长春建站模板展示网页设计与网站建设期末考试
  • 上海专业的网站建中卫企业管理培训网站
  • 帮传销做网站违法吗优化教育培训
  • 2015做导航网站好视频网站开发前景
  • 郑州做网站优化公购物网站排名第一的有哪些
  • 科技创新的评价机制的作用南京seo公司哪家好
  • 怎样建网站卖东西宝应百度贴吧
  • 响应式网站好不好平面设计网站导航
  • 安居客房产官方网站东莞网站开发后缀
  • 山西太原门户网站开发公司自媒体网站大全
  • 移动网站设计教程郑州网站建设技术支持
  • 郑州网站建设网站制作淘宝装修可以做代码的网站有哪些
  • 邵阳网站seo可以用wordpress的什么文件大小