无标题
SQL注入
在ctf中,我们通常通过get请求和post请求,提交参数,然后服务器后端拼接sql代码,进行查询数据
1 | $sql = "SELECT * FROM users WHERE username = '$username' AND password = '$password'"; |
比如说这里就是通过get请求提交username
我们后面都以这个为例
1 | $sql = "SELECT * FROM users WHERE id = $id"; |
根据sql语句的不同,可以分为字符型和数字型
数字型
1 | $sql = "SELECT * FROM users WHERE id = $id"; |
这种就是数字型
我们可以在后面加引号来测试
然后看爆错信息
字符型
1 | $sql = "SELECT * FROM users WHERE id = '$id'"; |
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''1'' LIMIT 0,1' at line 1
比如根据这个爆错信息就可以知道
大概是
1 | $sql = "SELECT * FROM sometable WHERE somecol = '$wllm' LIMIT 0,1"; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 infinite_blog!