Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Python学习记录(十八):Awvs自动化扫描&XML分析 #19

Open
PyxYuYu opened this issue Mar 19, 2016 · 0 comments
Open

Python学习记录(十八):Awvs自动化扫描&XML分析 #19

PyxYuYu opened this issue Mar 19, 2016 · 0 comments

Comments

@PyxYuYu
Copy link
Owner

PyxYuYu commented Mar 19, 2016

The first wealth is health.

0x01 Wooyun

  • SQL 注入
    • HTTP 头注入
  • VPN 弱口令
    • test/test
0x02 Seebug

  • PHP 代码审计 -- intvalunset
    • 参数在 common.inc.php 中被 intval ,但是在具体的页面内,被重新定义了,而没有 intval,直接就被带入到 SQL 语句中参与查询,导致 SQL 注入的发生
    • 参数设置为全局参数,但是没有 unset 导致可以替换任意为空,被带入到 SQL 中,导致注入的产生
0x03 Awvs自动化扫描

  • xml 文件解析利用 xml.dom 模块 from xml.dom import minidom
    • minidom.parse(filename) 加载读取 XML 文件
    • dom = minidom.parse(filename)
    • dom.documentElement 获取 XML 文档对象
    • root = doc.documentElement
    • nodes = root.getElementsByTagName(TagName) 获取 XML 节点对象集合
    • node.getAttribute(AttributeName) 获取 XML 节点属性值
    • node.childNodes 返回子节点列表
    • node.childNodes[index].nodeValue 获取 XML 节点值
    • node.firstChild 访问第一个节点,等价于 pagexml.childNodes[0]
    • doc = minidom.parse(filename)
    • doc.toxml('UTF-8') 返回 Node 节点的 XML 表示的文本
    • Node.attrubutes["id"]
    • a.name 就是上面的 id
    • a.value 属性的值,访问元素属性
    • XML 文档编码: 如果不写明 encoding 的话,都是认为文件是 UTF-8 编码
    • DOMDocument Object Model 的简称,以对象树来表示一个 XML 文档的方法,使用它的好处就是可以非常灵活的在对象中进行遍历
    • 元素和节点
      • 元素就是标记,成对出现, XML 文档就是由元素组成的,但元素和元素之间可以有文本,在 minidom 中有许多的节点,元素也属于节点的一种,不是叶子节点,即它存在子节点,还存在一些叶子节点,如文本节点,它下面不再有子节点
    • dom = minidom.parse(filename) 得到 dom 对象
    • root = dom.documentElement 得到文档元素对象
    • 每一个节点都有它的 nodeName nodeValue nodeType
    • root.nodeName 获得根节点名字
    • nodeValue 是节点的值,只对文本节点有效
    • nodeType 是节点的类型
    • 子元素、子节点的访问
      • 可以使用 root.getElementsByTagName(TagName) 方法,返回一个列表
    • 如果想得到某个节点下面所有的子节点,可以使用childNodes属性
    • 总结一下,使用 minidom 来读取 XML 中的信息
      • 导入 xml.dom.minidom 模块,生成 dom 对象
    • 得到文档对象(根对象)
    • 通过 getElementsByTagName() 方法和 childNodes 属性(还有其他一些方法和属性)找到要处理的元素
    • 取得元素下文本节点的内容
0x04 一天总结

  • 代码审计中,参数在 common 中被 intval ,结果却在用到时被重定义导致没有 intval ,结果被带入 SQL
  • xml.dom.minidom 模块的使用

@PyxYuYu PyxYuYu changed the title Python学习记录(十七):Awvs自动化扫描&XML分析 Python学习记录(十八):Awvs自动化扫描&XML分析 Mar 19, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant