[BSidesCF 2019]Sequel
[BSidesCF 2019]Sequel
考点
sqlite3盲注
wp
登录页面,随便输提示Username must be alphanumeric.

弱口令爆破,guest/guest,登录后提示数据库

抓包发现cookie是1337_AUTH=eyJ1c2VybmFtZSI6Imd1ZXN0IiwicGFzc3dvcmQiOiJndWVzdCJ9
base64解码是{"username":"guest","password":"guest"},这里可能存在注入
改成{"username":"guest'#","password":"guest"},提示Invalid user.
改成{"username":"guest"#","password":"guest"},提示Server Error
"加个转义符试试,{"username":"guest\"#","password":"guest"},还提示Invalid user.
把#改成--,{"username":"guest\"--","password":"guest"},成功登录
{"username":"\" or 1=1--","password":"guest"},成功登录
盲注脚本如下
得到表userinfo,reviews,notes
由于sqlite3在进行字符比较时不区分大小写,所以在注入字段时不能用二分法,同时可能会有不可见字符,所以对结果进行hex编码然后再布尔盲注判断字符
结果
然后注入,得到用户名密码
结果如下

小结
sqlite3注入
找表
select name from sqlite_master where type="table",需要限制输出的话是select name from sqlite_master where type="table" limit 1 offset 0,修改offset,从0开始,如果超过表的数量会返回错误找字段
select sql from sqlite_master where type="table" and name="userinfo"盲注考虑编码再注入,避免很多不必要的麻烦
最后更新于