Buuctf-Web-[极客大挑衅 2019]EasySQL 1 题解及思绪总结

[复制链接]
发表于 2026-2-26 07:43:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
​
启动靶机

  
题要

      
  • 有数据交互的地方就容易产生注入点  
  • sql注入的焦点:将用户输入的数据拼接到代码中,并被当成 sql 语句实行
做题过程

第一步——找到页面与数据库产生交互的地方

输入恣意数据,然后点击登录

此时跳转到check.php页面,得到效果。可知此页面与数据库产生交互

<hr> 第二步——检察SQL语句闭合方式

知识点:怎样判定闭合符
判定SQL语句闭合方式原理:
   MYSQL数据库的包涵性比力强。比方输入1)、1"、1-等,这些数字反面的字符不是闭合符,以是数据库会把这些输入的错误数据转换成准确的数据范例。
但是,若输入的数字反面的字符恰好是闭合符,则会形成闭合。如果闭合后形成的sql语句是错误的,那么sql语句实行就会错误,从而造成页面体现错误。
  判定SQL注入闭合方式:

方法一:使用(转义字符)来判定SQL注入的闭合方式

原理:当闭合字符碰到转义字符时,会被转义,那么没有闭合符的语句就不完备了,就会报错,通过报错信息我们就可以推断出闭合符。
   分析报错信息:看\斜杠反面跟着的字符,是什么字符,它的闭合字符就是什么,如果没有,就为数字型。
(但是在本题中有两个变量,这个方法不太实用)
  方法二:输入1、1’、1"判定SQL语句闭合方式

以用户名为例(在暗码处是一样的)
用户名分别输入1、1'、1",暗码输入123
在用户名处输入1、1"时


都出现了同样的效果

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表