• <abbr id="ck0wi"><source id="ck0wi"></source></abbr>
    <li id="ck0wi"></li>
  • <li id="ck0wi"><dl id="ck0wi"></dl></li><button id="ck0wi"><input id="ck0wi"></input></button>
  • <abbr id="ck0wi"></abbr>
  • <li id="ck0wi"><dl id="ck0wi"></dl></li>
  • Home >

    About SWF'S Famous Loophole

    2008/7/7 17:22:00 30

    About SWF'S Famous Loophole

    That is, CVE-2007-0071, flash9x.ocx has problems, the version has been affecting 9.0.115.


    The vulnerability itself is very simple. The direction of Dowd's thinking is not divorced from the public, but the key lies in a series of techniques that are quite effective.

    The specific details Dowd wrote a wonderful paper. It is estimated that many people have seen it and many people have done it.

    I read it carefully once, but for some reason, I didn't go to make the final product, and I didn't plan to do it later. This thing is not how to trigger the use of hand, but some supplements to the errata and other minor problems.


    The first obstacle is the SWF file format, which will take you between two and three hours.

    It is recommended to download a Sothink SWF Decomplier. Of course, it is best to have a Flash CS3.

    The reference is, of course, Adobe's own SWF file format PDF.


    Like many file formats, SWF consists of a header and a series of blocks.

    SWF is divided into two kinds: compression and non compression, but both of them retain the basic header blocks. The compression method is zlib, which can be decompressed by standard zlib. The compressed SWF is better handled first (or when it is exported to choose a non compression mode), so that the original data looks more convenient.


    There are various kinds of labels and data in block format. In most cases, the length is marked by 6 bytes and 4 bytes. Sometimes, in order to save, when the block length is within 63 bytes, two bytes are used to represent the labels and lengths. This is a bit cumbersome and needs to be calculated.

    There is also a variable number representation. The longest use of 5 bytes to represent a 32 bit integer is also for saving. This is also a bit cumbersome.


    After analyzing the file format, we probably write a program that can block parse. It is better to disassemble the blocks into files, and then assemble them.


    The second obstacle is ActionScript. It will be hard to say how much time it takes.

    The reference document is, of course, Adobe's own PDF, but it is used as a manual, just remember the function of bytes of 0 * 620 * 630 * 47.


    Let's talk about the so-called MaskTable first.

    This is a table used to check whether your AS is legal. Basically, it can be understood as a char[255], less than zero indicating that the operand does not exist, greater than zero, basically representing the length of the parameter of this operand.

    For example, the value of 0 * 47 corresponding table offset 0 * 47 is 0, indicating that the operand (0 * 47) has no parameters.

    So modifying this table is equivalent to modifying the check specification, for example, the modified offset 0xF9 is 0 x 20. When inspecting the 0xf9 operand, it will skip 0 * 20 bytes, which can cover up some evil operations in the middle.

    Because inspection and execution are separate, and the operation that does not exist in itself is not executed. Therefore, we can do some bad things when we check it, because no operation, such as 0xf9, is simply skipping a byte.


    The simplest part of the AS byte paper is given out, simple explanation, the first is to save EIP for later recovery context; the second is to take a pointer to prepare for modifying EIP, and this pointer is just pointing to the next AS byte to be executed; the third is more critical, and it needs to be a jump, because this address will be covered to EIP, which is the first to be implemented after the control. As for the meaning of its AS byte, it is optional, preferably NOP like operation, and the fourth, fifth is to write the pointer to the AS analytic function saved on the stack to return the address. Finally, of course, it is a AS in the AS, which allows the parse function to be returned and controlled.


    It should be noted that Dowd is not the best solution, but the easiest solution to understand. So it is best not to use this Marker+ double meaning operation after understanding, and there can be a simpler way.


    With regard to the Mask table, all versions of controls can be easily found by searching related characters.

    Parsing places can read the breakpoints of Mask, where the execution can search for a large switch case in IDA, where the breakpoints can be equal to the conditional breakpoints of a given Marker.


    Sometimes there may be third obstacles, that is, clearly passed the inspection but not implemented.

    It seems best not to modify the function that you edit in Flash CS3, and modify it directly with its own AS bytecode.


    After recovering the context assurance function, the program flow is normal after execution.


    With regard to other platforms and browsers, as well as different versions of flash, Dowd is clearly misleading.

    Because you have to write a place, different versions of the site are not necessarily writable, so different versions are easy to hang up, so even if you can trigger many times, it is useless to write in a mess, especially in the case of a higher version.


    About failure.

    Failure is the case, the control itself is not randomly loaded, but if the flash9x.ocx default loading address is occupied, it also hung up.

    This is the first time to see conflicts with office series, so office is very difficult to use.

    If you have to give it a try, you can consider what is going on.

    When SWF is embedded, xls can be opened, and word opens and closes the editor. This problem must be solved.


    Personally feel that this SWF can be done without response to win the other browser, and a total of 500 bytes, is indeed very yellow and very violent, hope that the domestic do not come this way, it is a bit scary.

    • Related reading

    Ensuring Key Applications To Enhance IT Value Of Enterprises (2)

    Market network
    |
    2008/7/7 17:22:00
    24

    Are There Any Internet Agents?

    Market network
    |
    2008/7/7 17:22:00
    20

    Continuous Data Management Ensures Data Security

    Market network
    |
    2008/7/7 17:21:00
    21

    How Do You Change The Domain Name Of The Website To Maintain The Original PR?

    Market network
    |
    2008/7/3 12:32:00
    15

    Choose The Right Keywords.

    Market network
    |
    2008/7/3 12:31:00
    36
    Read the next article

    Several Criteria For A Successful Business Website

    Several criteria for a successful business website

    主站蜘蛛池模板: 色偷偷人人澡人人爽人人模| 天天做天天添天天谢| 好紧的小嫩木耳白浆| 国产日韩精品一区二区在线观看| 成人a毛片视频免费看| 欧美国产一区二区三区激情无套 | 国产成人精品一区二区三在线观看| 国产精品久久久久久久久久免费| 国产热の有码热の无码视频| 免费人妻av无码专区| 久久五月天婷婷| 88av免费观看入口在线| 精品无码久久久久久国产| 日韩理论电影在线| 国产色产综合色产在线视频 | 精品无码国产一区二区三区av | 日韩视频在线观看中字| 天天干天天在线| 国产一区二区日韩欧美在线| 亚洲人成无码网站| 999任你躁在线精品免费不卡| 欧美bbbbxxxx| 激情五月婷婷色| 少妇性俱乐部纵欲狂欢少妇| 国产亚洲精品bt天堂精选| 亚洲人成亚洲人成在线观看| 一二三四国语在线观看视频| 青娱乐精品视频| 最近免费中文字幕大全高清10| 无码人妻一区二区三区在线视频| 女班长的放荡日记高h| 国产乱理伦片a级在线观看| 亚洲一区二区三区在线| 97久久人人超碰国产精品| 男女啪啪免费观看网站| 无码aⅴ精品一区二区三区| 国产成人精品高清在线观看99 | 性欧美大战久久久久久久久| 国产成人欧美一区二区三区vr| 再深点灬好舒服灬太大了添| 久久久无码精品国产一区|